name: benevoles # Déployé sur le VPS. Les variables sont lues depuis un fichier .env situé à # côté de ce fichier (non versionné) : POSTGRES_USER, POSTGRES_PASSWORD, # POSTGRES_DB, JWT_SECRET. BACKEND_IMAGE est exporté par le workflow de déploiement. services: db: image: postgres:16-alpine environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} volumes: - db_data:/var/lib/postgresql/data restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] interval: 10s timeout: 5s retries: 10 backend: image: ${BACKEND_IMAGE:-ghcr.io/OWNER/REPO-backend:latest} environment: DATABASE_URL: postgresql+psycopg://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB} ENVIRONMENT: production JWT_SECRET: ${JWT_SECRET} TZ: Europe/Paris depends_on: db: condition: service_healthy ports: - "8000:8000" restart: unless-stopped volumes: db_data: