Generer les secrets de la memoire plutot que les inventer
Question du proprietaire : HA_TOKEN il l a, mais les mots de passe PostgreSQL et InfluxDB, il les invente ? Non — ils se generent. Les deux bases n existent pas encore, c est ce fichier qui decide de leurs identifiants, et personne ne les tape jamais : les conteneurs les lisent dans .env et Home Assistant lit le jeton dans son propre secrets.yaml. preparer-env.sh les tire avec openssl rand, reprend HA_TOKEN du .env a la racine plutot que d en creer un nouveau, pose les droits a 600, et affiche la ligne a recopier dans secrets.yaml. Il refuse d ecraser un .env existant : regenerer les mots de passe d une base deja creee la rendrait inaccessible. Corrige au passage un piege laisse dans l exemple : POSTGRES_PASSWORD et PGPASSWORD etaient deux variables a tenir egales a la main. Le fichier s appelle desormais .env, donc compose l utilise aussi pour la substitution, et le service d historisation reprend le mot de passe par substitution. Un seul secret PostgreSQL desormais. Generateur essaye dans un bac a sable : fichier conforme, refus de regeneration verifie. Fichiers d echange des editeurs ajoutes au gitignore. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KKzkkVTG6KXnGXFFC7X9XJ
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
#
|
||||
# Mise en service :
|
||||
# cd /volume2/projects/EVCS/EVCS/deploy/historisation
|
||||
# cp historisation.env.exemple historisation.env puis y mettre les mots de passe
|
||||
# bash preparer-env.sh (genere .env avec des secrets aleatoires)
|
||||
# docker compose up -d
|
||||
# docker compose logs -f
|
||||
#
|
||||
@@ -42,7 +42,7 @@ services:
|
||||
# Ouvert au réseau local : n8n tourne sur 10.10.10.17 et doit écrire ici.
|
||||
- "5432:5432"
|
||||
env_file:
|
||||
- historisation.env
|
||||
- .env
|
||||
environment:
|
||||
- TZ=Europe/Paris
|
||||
- POSTGRES_USER=evcs
|
||||
@@ -69,7 +69,7 @@ services:
|
||||
# Home Assistant, sur 10.10.10.17, écrit ici.
|
||||
- "8086:8086"
|
||||
env_file:
|
||||
- historisation.env
|
||||
- .env
|
||||
environment:
|
||||
- TZ=Europe/Paris
|
||||
- DOCKER_INFLUXDB_INIT_MODE=setup
|
||||
@@ -105,7 +105,7 @@ services:
|
||||
# Depot en LECTURE SEULE : ce service n'ecrit que dans la base.
|
||||
- /volume2/projects/EVCS/EVCS:/app:ro
|
||||
env_file:
|
||||
- historisation.env
|
||||
- .env
|
||||
environment:
|
||||
- TZ=Europe/Paris
|
||||
- HA_URL=http://10.10.10.17:8123
|
||||
@@ -113,8 +113,9 @@ services:
|
||||
- PGPORT=5432
|
||||
- PGUSER=evcs
|
||||
- PGDATABASE=evcs
|
||||
# PGPASSWORD doit valoir POSTGRES_PASSWORD : les deux sont dans le
|
||||
# fichier d'environnement, tenus egaux a la main.
|
||||
# Reprise du mot de passe unique par substitution : il n'y a qu'un seul
|
||||
# secret PostgreSQL a renseigner, pas deux a tenir egaux a la main.
|
||||
- PGPASSWORD=${POSTGRES_PASSWORD}
|
||||
- HISTORISE_INTERVAL_S=60
|
||||
command: ["node", "tools/historise-evcs.mjs"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user