eodia analytics se configure par des variables d’environnement. En développement, copiez
.env.example en .env à la racine du dépôt : l’API, le worker, le web et Docker Compose le
lisent tous. Une variable déjà présente dans l’environnement (Docker, CI) l’emporte toujours ;
.env.local, s’il existe, l’emporte sur .env.
| Variable | Défaut (développement) | Rôle |
|---|
NODE_ENV | development | production rend SECRET_KEY obligatoire et coupe la démo et le worker intégré |
DATABASE_URL | postgres://eodia:eodia@localhost:55436/analytics | la base ; l’utilisateur est propriétaire des trois schémas |
READER_PASSWORD | eodia-analytics en développement | le mot de passe du rôle de lecture eodia_analytics ; absent en production, le rôle existe mais ne peut pas se connecter |
SECRET_KEY | une clé de développement | 64 caractères hexadécimaux : chiffre les secrets des sites. Obligatoire en production |
SESSION_DAYS | 14 | la durée d’une session de connexion, en jours |
| Variable | Défaut | Rôle |
|---|
PUBLIC_URL | http://localhost:3600 | l’adresse de l’administration (liens d’invitation, OIDC) ; https:// rend le cookie de session Secure |
COLLECT_URL | http://localhost:4600 en développement, PUBLIC_URL en production | l’adresse publique de /a.js et /collect : celle des blocs d’installation. Voir le domaine de collecte |
API_PORT | 4600 | le port d’écoute de l’API |
API_HOST | 0.0.0.0 | l’adresse d’écoute de l’API |
API_URL | http://localhost:4600 | l’adresse de l’API, vers laquelle l’interface relaie /api/* |
| Variable | Défaut | Rôle |
|---|
TRUST_PROXY | 0 en développement, 1 en production | lire l’adresse du visiteur dans X-Forwarded-For ; seulement derrière un proxy de confiance |
GEOIP_DB | — | le fichier .mmdb des pays (DB-IP Lite, CC BY 4.0) ; sans lui, seul l’en-tête du proxy (CF-IPCountry, X-Country-Code) donne le pays |
COLLECT_RATE | 120 | événements par minute et par visiteur, au plus |
COLLECT_FLUSH_MS | 1000 | le délai maximal avant l’écriture d’un lot, en millisecondes |
| Variable | Défaut | Rôle |
|---|
INSIGHTS_URL | — | l’adresse d’insights : le bouton Statistiques, et la seule origine écoutée par le mode aperçu |
INSIGHTS_EMBED_KID | — | l’identifiant du secret d’intégration créé dans insights |
INSIGHTS_EMBED_SECRET | — | sa valeur |
INSIGHTS_EMBED_TTL | 240 | la durée de validité d’un lien signé, en minutes |
Voir le bouton Statistiques.
| Variable | Défaut | Rôle |
|---|
OIDC_ISSUER | — | l’émetteur OpenID Connect ; active le SSO |
OIDC_CLIENT_ID | — | l’identifiant du client |
OIDC_CLIENT_SECRET | — | le secret du client, s’il est confidentiel |
OIDC_LABEL | Se connecter avec SSO | le libellé du bouton |
OIDC_SCOPES | openid email profile | les portées demandées |
OIDC_GROUPS_CLAIM | — | le claim des groupes à refléter sur les groupes du même nom |
PASSWORD_LOGIN | 1 | 0 pour ne garder que le SSO |
Voir l’authentification unique.
| Variable | Défaut | Rôle |
|---|
SMTP_URL | — | le serveur d’envoi : smtp://utilisateur:motdepasse@smtp.exemple.fr:587 ; sans lui, les liens d’invitation se copient à la main |
SMTP_FROM | eodia analytics <noreply@localhost> | l’expéditeur |
| Variable | Défaut | Rôle |
|---|
DEMO | 1 en développement, 0 en production | crée le compte admin@eodia.local et les sites de démonstration (Maison Arvor, le blog d’Arvor) |
INPROCESS_WORKER | 1 en développement, 0 en production | fait tourner le worker dans le processus de l’API |
docker-compose.prod.yml lit en plus :
| Variable | Rôle |
|---|
DOMAIN | le domaine public, servi en HTTPS par Caddy |
ACME_EMAIL | l’adresse de contact des certificats (par défaut admin@DOMAIN) |
DB_PASSWORD | le mot de passe de la base |
IMAGE | l’image à utiliser (défaut eodia-analytics:latest) |