services: postgres: image: postgres:17-alpine ports: - "5432:5432" environment: POSTGRES_DB: ${POSTGRES_DB:-vaultdrop_dev} POSTGRES_USER: ${POSTGRES_USER:-vaultdrop} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-vaultdrop} volumes: - postgres-data:/var/lib/postgresql/data restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-vaultdrop}"] interval: 10s timeout: 5s retries: 5 backend: build: context: ./backend dockerfile: Dockerfile args: VERSION: ${VERSION:-dev} ports: - "${PORT:-8080}:8080" environment: PORT: 8080 DATABASE_URL: postgres://${POSTGRES_USER:-vaultdrop}:${POSTGRES_PASSWORD:-vaultdrop}@postgres:5432/${POSTGRES_DB:-vaultdrop_dev}?sslmode=disable UPLOAD_DIR: /app/uploads MAX_FILE_SIZE_MB: ${MAX_FILE_SIZE_MB:-50} OCR_LANG: ${OCR_LANG:-fra+eng} AUTH_SECRET: ${AUTH_SECRET:?AUTH_SECRET requis (voir backend/.env.example)} ADMIN_USERNAME: ${ADMIN_USERNAME:?ADMIN_USERNAME requis au premier démarrage} ADMIN_PASSWORD: ${ADMIN_PASSWORD:?ADMIN_PASSWORD requis au premier démarrage} volumes: - backend-uploads:/app/uploads depends_on: postgres: condition: service_healthy restart: unless-stopped volumes: postgres-data: backend-uploads: