Ajoute .env.example pour la config des variables d'environnement

- .env.example committe, documente toutes les variables (auth, uploads, timeouts) avec
  instructions pour generer un hash bcrypt.
- .env local (gitignore) pour docker compose : attention, echapper chaque \$ en \$\$ dans le hash
  bcrypt sinon docker compose l'interprete comme de la substitution de variable et le tronque
  silencieusement (verifie : $2a$10$xxx devenait $2a$10 tronque sans l'echappement).
This commit is contained in:
Nicolas Fryder 2026-07-10 15:37:29 +02:00
parent 86a75bd47b
commit c61a6bfea1
2 changed files with 24 additions and 4 deletions

16
.env.example Normal file
View file

@ -0,0 +1,16 @@
# Copier ce fichier en ".env" pour du dev local avec `docker compose` (le vrai ".env" est
# gitignore, jamais committe). En production (Coolify), NE PAS utiliser ce fichier : definir ces
# memes variables dans l'onglet "Environment Variables" de l'application Coolify.
# --- Authentification HTTP Basic (UI + API) ---
# Si absentes, l'authentification est desactivee (pratique en dev, jamais en prod).
# Generer un hash pour un nouveau mot de passe :
# node -e "console.log(require('bcryptjs').hashSync('VOTRE_MOT_DE_PASSE', 10))"
AUTH_USERNAME=nico
AUTH_PASSWORD_HASH=
# --- Parametres optionnels (defauts raisonnables si non definis, voir src/config.ts) ---
# PORT=3000
# MAX_UPLOAD_MB=2048
# STATS_SAMPLE_CAP=50000
# CC_TIMEOUT_MS=600000

View file

@ -56,12 +56,16 @@ AUTH_USERNAME=nico
AUTH_PASSWORD_HASH=$2a$10$... # sortie de la commande ci-dessus AUTH_PASSWORD_HASH=$2a$10$... # sortie de la commande ci-dessus
``` ```
En local avec `docker compose`, un fichier `.env` (gitignore) a la racine du repo fonctionne aussi : En local avec `docker compose`, un fichier `.env` (gitignore, jamais committe) a la racine du repo
fonctionne aussi — `docker compose` le charge automatiquement :
```bash
cp .env.example .env
# puis editer .env avec un vrai AUTH_PASSWORD_HASH genere via la commande ci-dessus
``` ```
AUTH_USERNAME=nico
AUTH_PASSWORD_HASH=$2a$10$... [.env.example](.env.example) est committe et documente toutes les variables disponibles ; `.env`
``` (vos vraies valeurs) ne l'est jamais.
## Deploiement Coolify ## Deploiement Coolify