version: '3.9' services: db: image: postgres:16-alpine environment: POSTGRES_USER: demo POSTGRES_PASSWORD: demo POSTGRES_DB: demo ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U demo"] interval: 10s timeout: 5s retries: 5 api: build: context: . dockerfile: Dockerfile environment: ConnectionStrings__DefaultConnection: "Host=db;Port=5432;Database=demo;Username=demo;Password=demo" ports: - "5000:8080" depends_on: db: condition: service_healthy volumes: pgdata: