version: "3.9" services: db: image: postgres:16-alpine environment: POSTGRES_USER: autoorder POSTGRES_PASSWORD: autoorder POSTGRES_DB: autoorder ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U autoorder"] interval: 5s timeout: 5s retries: 5 backend: build: context: . dockerfile: Dockerfile.backend environment: DATABASE_URL: postgresql+asyncpg://autoorder:autoorder@db:5432/autoorder ports: - "8000:8000" depends_on: db: condition: service_healthy frontend: build: context: . dockerfile: Dockerfile.frontend ports: - "80:80" depends_on: - backend volumes: pgdata: