services: postgres: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_USER: ${POSTGRES_USER:-managed_agents} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB:-managed_agents} volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-managed_agents}"] interval: 5s timeout: 5s retries: 5 app: build: context: .. dockerfile: docker/Dockerfile restart: unless-stopped ports: - "${PORT:-3000}:3000" depends_on: postgres: condition: service_healthy environment: DATABASE_URL: postgres://${POSTGRES_USER:-managed_agents}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB:-managed_agents} ENCRYPTION_KEY: ${ENCRYPTION_KEY} SESSION_SECRET: ${SESSION_SECRET} SETUP_PASSWORD: ${SETUP_PASSWORD} NODE_ENV: production volumes: pgdata: