- Grille de calcul du volume adaptee dynamiquement au pas spatial de chaque niveau (au lieu d'une grille fixe derivee du niveau 0) : evite l'effondrement artificiel du "matching cells %" observe des le premier niveau de decimation (99% -> 58% -> 13% -> 3% -> 0.9% -> 0.2%), qui refletait un desalignement grille/densite plutot qu'une vraie perte d'information. - Authentification HTTP Basic sur toute l'app (UI + API), identifiants en env (AUTH_USERNAME / AUTH_PASSWORD_HASH hashe bcrypt), desactivable en dev local si non definis. /health reste public pour le healthcheck Docker/Coolify.
24 lines
866 B
YAML
24 lines
866 B
YAML
services:
|
|
volume-app:
|
|
build: .
|
|
ports:
|
|
- "8080:3000"
|
|
volumes:
|
|
# Volume nomme (pas un bind mount vers ./data) : Coolify re-clone le repo a chaque
|
|
# deploiement, un bind mount relatif au checkout perdrait les donnees a chaque redeploy.
|
|
- app-data:/data
|
|
environment:
|
|
- PORT=3000
|
|
- DATA_DIR=/data
|
|
- MAX_UPLOAD_MB=2048
|
|
- STATS_SAMPLE_CAP=50000
|
|
- CC_TIMEOUT_MS=600000
|
|
# Auth HTTP Basic (UI + API). Non definies = auth desactivee (dev local). Sur Coolify,
|
|
# definir ces deux variables dans l'onglet "Environment Variables" de l'application (pas ici,
|
|
# pour ne pas committer le hash dans le repo). Voir README pour generer AUTH_PASSWORD_HASH.
|
|
- AUTH_USERNAME=${AUTH_USERNAME:-}
|
|
- AUTH_PASSWORD_HASH=${AUTH_PASSWORD_HASH:-}
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
app-data:
|