Corrige la perte du compte admin à chaque déploiement : persiste /app/data #8

Merged
w-vandal merged 1 commits from dev into main 2026-08-30 14:37:45 +00:00
Owner

L'utilisateur signale devoir recréer un compte admin après chaque
déploiement en prod. Cause : docker-compose.prod.yml ne montait un
volume que pour /app/projects (les jeux) — la base des comptes créateurs
(data/users.db, voir auth/connection.py) et la clé de session Flask
(data/secret_key, voir core/flask_app.py::_load_or_create_secret_key)
vivaient toutes les deux dans /app/data, jamais monté : chaque nouveau
conteneur (à chaque déploiement) repartait d'un /app/data vide, donc
d'une base de comptes vide ("premier compte = admin" recommençait à
zéro) ET d'une nouvelle clé de session (tout le monde déconnecté, en
plus de la perte du compte).

Nouveau volume nommé forge_data:/app/data, à côté de forge_projects.
docker-entrypoint.sh corrige aussi sa propriété (root par défaut à la
création d'un volume nommé, comme pour forge_projects déjà) avant
d'abandonner les privilèges root.

Note : ce correctif ne prend effet qu'au déploiement SUIVANT sur main
(le conteneur actuellement en prod n'a pas ce volume) — un dernier compte
admin à recréer après ce déploiement, plus jamais ensuite.

Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com

L'utilisateur signale devoir recréer un compte admin après chaque déploiement en prod. Cause : docker-compose.prod.yml ne montait un volume que pour /app/projects (les jeux) — la base des comptes créateurs (data/users.db, voir auth/connection.py) et la clé de session Flask (data/secret_key, voir core/flask_app.py::_load_or_create_secret_key) vivaient toutes les deux dans /app/data, jamais monté : chaque nouveau conteneur (à chaque déploiement) repartait d'un /app/data vide, donc d'une base de comptes vide ("premier compte = admin" recommençait à zéro) ET d'une nouvelle clé de session (tout le monde déconnecté, en plus de la perte du compte). Nouveau volume nommé forge_data:/app/data, à côté de forge_projects. docker-entrypoint.sh corrige aussi sa propriété (root par défaut à la création d'un volume nommé, comme pour forge_projects déjà) avant d'abandonner les privilèges root. Note : ce correctif ne prend effet qu'au déploiement SUIVANT sur main (le conteneur actuellement en prod n'a pas ce volume) — un dernier compte admin à recréer après ce déploiement, plus jamais ensuite. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
w-vandal added 1 commit 2026-08-30 14:37:20 +00:00
Corrige la perte du compte admin à chaque déploiement : persiste /app/data
Build and deploy / test-python (push) Successful in 1m25s
Build and deploy / test-js (push) Successful in 6s
Build and deploy / build-and-push (push) Skipped
Build and deploy / deploy (push) Skipped
e9d12945a9
L'utilisateur signale devoir recréer un compte admin après chaque
déploiement en prod. Cause : docker-compose.prod.yml ne montait un
volume que pour /app/projects (les jeux) — la base des comptes créateurs
(data/users.db, voir auth/connection.py) et la clé de session Flask
(data/secret_key, voir core/flask_app.py::_load_or_create_secret_key)
vivaient toutes les deux dans /app/data, jamais monté : chaque nouveau
conteneur (à chaque déploiement) repartait d'un /app/data vide, donc
d'une base de comptes vide ("premier compte = admin" recommençait à
zéro) ET d'une nouvelle clé de session (tout le monde déconnecté, en
plus de la perte du compte).

Nouveau volume nommé forge_data:/app/data, à côté de forge_projects.
docker-entrypoint.sh corrige aussi sa propriété (root par défaut à la
création d'un volume nommé, comme pour forge_projects déjà) avant
d'abandonner les privilèges root.

Note : ce correctif ne prend effet qu'au déploiement SUIVANT sur main
(le conteneur actuellement en prod n'a pas ce volume) — un dernier compte
admin à recréer après ce déploiement, plus jamais ensuite.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
w-vandal merged commit 5eece2645f into main 2026-08-30 14:37:45 +00:00
Sign in to join this conversation.