2.2 KiB
Runbook — Déploiement Archicratie Web Édition (Blue/Green)
Arborescence NAS (repère)
/volume2/docker/archicratie-web/current/: état courant (Dockerfile, docker-compose.yml, dist buildé en image)/volume2/docker/archicratie-web/releases/: historiques éventuels/volume2/docker/edge/: Traefik + config dynamique
Important : les commandes
docker compose -f ...doivent viser le docker-compose.yml présent danscurrent/.
Pré-requis Synology
Sur NAS, les commandes ont été exécutées avec : en bash sudo env DOCKER_API_VERSION=1.43 docker ...
(contexte DSM / compat API)
1) Variables de build (Gitea)
Dans /volume2/docker/archicratie-web/current créer/maintenir :
cat > .env <<'EOF' PUBLIC_GITEA_BASE=https://gitea.archicratie.trans-hands.synology.me PUBLIC_GITEA_OWNER=Archicratia PUBLIC_GITEA_REPO=archicratie-edition EOF
2) Build images (blue + green) — méthode robuste
cd /volume2/docker/archicratie-web/current
sudo env DOCKER_API_VERSION=1.43 docker compose -f docker-compose.yml build --no-cache web_blue web_green
Puis recréer les conteneurs sans rebuild :
sudo env DOCKER_API_VERSION=1.43 docker compose -f docker-compose.yml up -d --force-recreate --no-build web_blue web_green
3) Vérifier que les deux slots sont OK
curl -sS -D- http://127.0.0.1:8081/ | head -n 12 curl -sS -D- http://127.0.0.1:8082/ | head -n 12
Attendu :
HTTP/1.1 200 OK
Server: nginx/...
4) Traefik : s’assurer qu’un seul backend est actif
Fichier : /volume2/docker/edge/config/dynamic/20-archicratie-backend.yml
Attendu : une seule URL (8081 OU 8082)
http: services: archicratie_web: loadBalancer: servers: - url: "http://127.0.0.1:8081"
5) Smoke via Traefik (entrée réelle)
curl -sS -H 'Host: archicratie.trans-hands.synology.me' http://127.0.0.1:18080/ | head -n 20
Attendu :
si non loggé : 302 vers Authelia
si loggé : HTML du site
6) Piège classique : conflit de nom de conteneur
Si : Conflict. The container name "/archicratie-web-blue" is already in use...
Faire :
sudo docker rm -f archicratie-web-blue sudo env DOCKER_API_VERSION=1.43 docker compose -f docker-compose.yml up -d --force-recreate --no-build web_blue