Files
veille-reglementaire/docker-compose.yml
2026-05-31 21:56:29 +02:00

60 lines
1.7 KiB
YAML

services:
app:
build:
context: ./src
dockerfile: Dockerfile
container_name: veille-reglementaire
restart: unless-stopped
environment:
- NODE_ENV=production
- PORT=3000
- DATABASE_URL=mysql://veille_user:VeilleDB2026Secure!@veille-db:3306/veille_reglementaire
- JWT_SECRET=veille-reglementaire-jwt-secret-2026-recette
- VITE_APP_ID=veille-reglementaire
depends_on:
veille-db:
condition: service_healthy
networks:
- web
- veille-internal
labels:
- "traefik.enable=true"
# Route HTTPS via veille.recette.santinova-soft.org
- "traefik.http.routers.veille-secure.rule=Host(`veille.recette.santinova-soft.org`)"
- "traefik.http.routers.veille-secure.entrypoints=websecure"
- "traefik.http.routers.veille-secure.tls=true"
- "traefik.http.routers.veille-secure.tls.certresolver=letsencrypt"
- "traefik.http.routers.veille-secure.service=veille-svc"
# Service
- "traefik.http.services.veille-svc.loadbalancer.server.port=3000"
- "traefik.docker.network=web"
veille-db:
image: mysql:8.0
container_name: veille-db
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=VeilleRootDB2026!
- MYSQL_DATABASE=veille_reglementaire
- MYSQL_USER=veille_user
- MYSQL_PASSWORD=VeilleDB2026Secure!
volumes:
- veille-db-data:/var/lib/mysql
networks:
- veille-internal
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-pVeilleRootDB2026!"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
volumes:
veille-db-data:
networks:
web:
external: true
veille-internal:
driver: bridge