Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
# L'app REFUSE de démarrer si elle est vide, trop courte (< 32 caractères) ou
# égale à un placeholder connu. Générez une valeur forte :
# openssl rand -hex 32
# À SAUVEGARDER avec la base : un dump restauré avec un autre SESSION_SECRET rend
# tous les secrets stockés indéchiffrables (voir install/backup.sh).
SESSION_SECRET=

# Identifiants MySQL. Choisissez des mots de passe FORTS (ne laissez pas de
Expand All @@ -27,13 +29,71 @@ DB_PASSWORD=
DB_ROOT_PASSWORD=
DB_NAME=goacloud

# ----------------------------------------------------------------------------
# RECOMMANDÉ — secrets par fichier (convention Docker « _FILE »)
# ----------------------------------------------------------------------------
# Tout secret listé ci-dessous accepte une variante <NOM>_FILE qui pointe vers un
# fichier : GoaCore lit alors le contenu du fichier (retour à la ligne final
# ignoré) au lieu de la variable d'environnement. C'est ce qu'il faut faire dès
# que d'autres personnes ont accès au démon Docker : une variable d'environnement
# est lisible par `docker inspect` et dans /proc/<pid>/environ, un fichier monté
# depuis un secret Docker/Swarm ou un tmpfs ne l'est pas.
#
# Secrets concernés : SESSION_SECRET, DB_PASS (hôte : DB_PASSWORD),
# PROXMOX_TOKEN_SECRET, WAZUH_PASSWORD, WAZUH_INDEXER_PASSWORD, AI_API_KEY,
# DISCORD_BOT_TOKEN.
#
# Le _FILE l'emporte sur la variable simple, et un fichier absent ou vide
# REFUSE le démarrage (pas de retour silencieux à une valeur par défaut).
#
# Exemple : décommentez le montage « ./secrets:/run/secrets:ro » dans
# docker-compose.yml, puis :
# mkdir -p secrets && openssl rand -hex 32 > secrets/session_secret
# chmod 600 secrets/*
# SESSION_SECRET_FILE=/run/secrets/session_secret
# DB_PASSWORD_FILE=/run/secrets/db_password
#
# SESSION_SECRET_FILE=
# DB_PASSWORD_FILE=
# PROXMOX_TOKEN_SECRET_FILE=
# WAZUH_PASSWORD_FILE=
# WAZUH_INDEXER_PASSWORD_FILE=
# AI_API_KEY_FILE=
# DISCORD_BOT_TOKEN_FILE=
# DB_ROOT_PASSWORD_FILE= # conteneur MySQL : EXCLUSIF de DB_ROOT_PASSWORD

# ----------------------------------------------------------------------------
# OPTIONNEL — serveur / TLS (defaults sains, à ne modifier qu'au besoin)
# ----------------------------------------------------------------------------

# Noms DNS et IP couverts par le certificat auto-signé (séparés par des virgules).
# À RENSEIGNER : sans eux, le certificat ne vaut que pour localhost/127.0.0.1 et
# le navigateur affiche une erreur de certificat à chaque accès. Mettez ici le nom
# (et/ou l'IP) par lequel vous ouvrez GoaCore.
# TLS_HOSTS=core.example.com,192.0.2.10
TLS_HOSTS=

# Le certificat auto-signé est PERSISTÉ (volume goacore_tls monté sur /app/certs)
# et n'est régénéré que s'il est absent, expiré, ou s'il ne couvre plus TLS_HOSTS :
# son empreinte ne change donc plus à chaque mise à jour. Emplacement modifiable :
# TLS_DIR=certs

# Fournir SON PROPRE certificat (Let's Encrypt, PKI interne…) : renseignez les
# DEUX variables et montez les fichiers en lecture seule dans le conteneur.
# GoaCore ne les écrase jamais et refuse de démarrer s'ils sont illisibles.
# TLS_CERT_FILE=/run/tls/fullchain.pem
# TLS_KEY_FILE=/run/tls/privkey.pem

# Cookies de session marqués Secure (HTTPS). Laisser "true" en production.
# COOKIE_SECURE=true

# Reverse proxy de confiance (CIDR séparés par des virgules). Laisser VIDE si
# GoaCore est joint directement : X-Forwarded-For n'est alors pas cru, ce qui
# empêche un attaquant de forger son IP pour contourner le blocage anti-force
# brute. À renseigner uniquement derrière un proxy, avec SON adresse et rien de
# plus large — sinon n'importe qui peut de nouveau forger l'en-tête.
# TRUSTED_PROXIES=192.0.2.1/32

# Désactive la vérification du certificat TLS pour les appels SORTANTS vers
# Proxmox / Wazuh (utile si ces services ont un certificat auto-signé).
# À utiliser en connaissance de cause.
Expand Down
Loading
Loading