# ── Gitea ── GITEA_URL=https://git.dracodev.net GITEA_TOKEN=change-me GITEA_OAUTH_CLIENT_ID= GITEA_OAUTH_CLIENT_SECRET= GITEA_WEBHOOK_SECRET= # ── GitHub ── GITHUB_OAUTH_CLIENT_ID= GITHUB_OAUTH_CLIENT_SECRET= # ── OAuth2 ── # Laisser VIDE = redirect URI dynamique (dérivée du Host/X-Forwarded-* de la requête). # Ne définir QUE si on veut forcer une URI exacte — elle DOIT être enregistrée # dans l'application OAuth2 côté Gitea/GitHub (Settings → Applications). # Exemple : OAUTH_REDIRECT_URI=https://flowdeck.dracodev.net/auth/callback OAUTH_REDIRECT_URI= # ── App ── APP_SECRET_KEY=change-me-to-random APP_HOST=0.0.0.0 APP_PORT=8080 LOG_LEVEL=INFO DEFAULT_LANG=fr # ── Database ── # SQLite (default): sqlite:////data/flowdeck.db # PostgreSQL (optional): postgresql://user:pass@host:5432/flowdeck DATABASE_URL=sqlite:////data/flowdeck.db # ── Sync ── SYNC_INTERVAL=60 GITEA_CACHE_TTL=30 # ── Backups (v5.2.0) ── # Sauvegarde automatique quotidienne du fichier SQLite (fichiers datés). BACKUP_ENABLED=true BACKUP_DIR=/data/backups BACKUP_INTERVAL_HOURS=24 BACKUP_KEEP=30 # ── Forge projects sync (v5.2.0) ── # Rafraîchissement périodique de la table `projects` depuis les forges connectées. PROJECT_SYNC_ENABLED=true PROJECT_SYNC_INTERVAL_HOURS=1 # ── Public API v2 (v6.3.0) ── # PUBLIC_API_INSECURE_OK=true autorise le token de dev fd-public-key (jamais en prod). PUBLIC_API_INSECURE_OK=false API_V2_RATE_LIMIT_PER_TOKEN=300 # ── Email notifications (v4.9.0) ── # Laisser SMTP_HOST vide = pas d'envoi d'email (seulement les notifications in-app). SMTP_HOST= SMTP_PORT=587 SMTP_USER= SMTP_PASSWORD= SMTP_FROM=FlowDeck SMTP_USE_TLS=true APP_BASE_URL=http://localhost:8080 # ── SSO / Enterprise (v6.7.0) ── # Fallback de démarrage uniquement : dès qu'un admin enregistre une configuration # dans Settings → Admin → SSO / Enterprise, la table `sso_config` prime sur le .env. # Le bouton SSO n'apparaît sur la page de connexion que si une config est active. # SSO_PROVIDER=saml # saml | oidc (vide = SSO désactivé) # SSO_NAME=Company SSO # libellé du bouton # SSO_ONLY=false # true = refuser le login local (les admins gardent le leur) # SSO_AUTO_PROVISION=true # créer le compte au premier login SSO # SAML : # SSO_ENTITY_ID=https://idp.example.com/saml/metadata # SSO_SSO_URL=https://idp.example.com/saml/sso # SSO_SLO_URL=https://idp.example.com/saml/slo # SSO_X509_CERTIFICATE=-----BEGIN CERTIFICATE----- # SSO_SIGN_REQUESTS=false # signer les AuthnRequests / LogoutRequest # OIDC : # SSO_ISSUER_URL=https://auth.example.com/realms/flowdeck # SSO_CLIENT_ID= # SSO_CLIENT_SECRET= # SSO_SCOPE=openid profile email # Mapping (JSON) : # SSO_ATTRIBUTE_MAPPING={"email":"email","full_name":"name","groups":"groups"} # SSO_GROUPS_MAPPING=[{"sso_group":"FlowDeck Admins","workspace_role":"admin","workspace_id":1}] # SSO_DEFAULT_WORKSPACE_ID=0