Aller au contenu

Variables d’environnement

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.

VariableDéfaut (développement)Rôle
NODE_ENVdevelopmentproduction rend SECRET_KEY obligatoire et coupe la démo et le worker intégré
DATABASE_URLpostgres://eodia:eodia@localhost:55436/analyticsla base ; l’utilisateur est propriétaire des trois schémas
READER_PASSWORDeodia-analytics en développementle mot de passe du rôle de lecture eodia_analytics ; absent en production, le rôle existe mais ne peut pas se connecter
SECRET_KEYune clé de développement64 caractères hexadécimaux : chiffre les secrets des sites. Obligatoire en production
SESSION_DAYS14la durée d’une session de connexion, en jours
Fenêtre de terminal
# Une clé d’instance :
openssl rand -hex 32
VariableDéfautRôle
PUBLIC_URLhttp://localhost:3600l’adresse de l’administration (liens d’invitation, OIDC) ; https:// rend le cookie de session Secure
COLLECT_URLhttp://localhost:4600 en développement, PUBLIC_URL en productionl’adresse publique de /a.js et /collect : celle des blocs d’installation. Voir le domaine de collecte
API_PORT4600le port d’écoute de l’API
API_HOST0.0.0.0l’adresse d’écoute de l’API
API_URLhttp://localhost:4600l’adresse de l’API, vers laquelle l’interface relaie /api/*
VariableDéfautRôle
TRUST_PROXY0 en développement, 1 en productionlire 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_RATE120événements par minute et par visiteur, au plus
COLLECT_FLUSH_MS1000le délai maximal avant l’écriture d’un lot, en millisecondes
VariableDéfautRô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_TTL240la durée de validité d’un lien signé, en minutes

Voir le bouton Statistiques.

VariableDéfautRô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_LABELSe connecter avec SSOle libellé du bouton
OIDC_SCOPESopenid email profileles portées demandées
OIDC_GROUPS_CLAIM—le claim des groupes à refléter sur les groupes du même nom
PASSWORD_LOGIN10 pour ne garder que le SSO

Voir l’authentification unique.

VariableDéfautRô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_FROMeodia analytics <noreply@localhost>l’expéditeur
VariableDéfautRôle
DEMO1 en développement, 0 en productioncrée le compte admin@eodia.local et les sites de démonstration (Maison Arvor, le blog d’Arvor)
INPROCESS_WORKER1 en développement, 0 en productionfait tourner le worker dans le processus de l’API

docker-compose.prod.yml lit en plus :

VariableRôle
DOMAINle domaine public, servi en HTTPS par Caddy
ACME_EMAILl’adresse de contact des certificats (par défaut admin@DOMAIN)
DB_PASSWORDle mot de passe de la base
IMAGEl’image à utiliser (défaut eodia-analytics:latest)

eodia analytics est un logiciel libre d’Eodia.