diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml index 6322b24..6e75338 100644 --- a/docker/docker-compose.dev.yml +++ b/docker/docker-compose.dev.yml @@ -10,7 +10,8 @@ services: - "3000:3000" - "4000:4000" - "24678:24678" - volumes: + # !override : en dev, data/ vient des sources montées, pas du volume de prod. + volumes: !override - sources:/app volumes: diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 47cb3eb..0ca6f0d 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -17,8 +17,11 @@ services: ports: - 3000 volumes: - - ../data:/src/data - - ./public:/src/public + # Données runtime (messages des visiteurs). L'image tourne dans /app et + # le serveur lit process.cwd()/data : le volume se monte sur /app/data. + # Volume nommé, pas un chemin relatif : la CI lance compose depuis son + # espace de travail, où un chemin relatif désigne un dossier vide de l'hôte. + - data:/app/data restart: always labels: - "traefik.enable=true" @@ -26,3 +29,12 @@ services: - "traefik.http.routers.librodrome.entrypoints=websecure" - "traefik.http.routers.librodrome.tls.certresolver=letsencrypt" - "traefik.http.services.librodrome.loadbalancer.server.port=3000" + +volumes: + # Créé à la main sur le serveur avant le premier déploiement (acte du + # 2026-10-26). external : compose ne le crée ni ne le supprime jamais + # (`down -v` compris), et un déploiement sans lui échoue au lieu de + # repartir de la graine. + data: + name: librodrome-data + external: true