services: db: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_USER: ${POSTGRES_USER:-presencia} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-presencia} POSTGRES_DB: ${POSTGRES_DB:-presencia} volumes: - presencia_pgdata:/var/lib/postgresql/data ports: - "${DB_HOST_PORT:-6543}:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-presencia}"] interval: 5s timeout: 5s retries: 10 backend: build: ./backend restart: unless-stopped depends_on: db: condition: service_healthy environment: PORT: 4790 PGHOST: db PGPORT: 5432 PGUSER: ${POSTGRES_USER:-presencia} PGPASSWORD: ${POSTGRES_PASSWORD:-presencia} PGDATABASE: ${POSTGRES_DB:-presencia} JWT_SECRET: ${JWT_SECRET:-change-me-to-a-long-random-string} COOKIE_SECURE: ${COOKIE_SECURE:-false} ADMIN_EMAIL: ${ADMIN_EMAIL:-admin@presencia.local} ADMIN_PASSWORD: ${ADMIN_PASSWORD:-ChangeMe123!} ADMIN_NAME: ${ADMIN_NAME:-Administrateur} ports: - "${BACKEND_HOST_PORT:-4790}:4790" frontend: build: ./frontend restart: unless-stopped depends_on: - backend ports: - "${FRONTEND_HOST_PORT:-8781}:80" volumes: presencia_pgdata: