services: web-api: image: ${DOCKER_REGISTRY-}webapi container_name: web-api build: context: . dockerfile: src/Web.Api/Dockerfile environment: ASPNETCORE_ENVIRONMENT: Development ASPNETCORE_URLS: http://+:8080 ConnectionStrings__Database: "Host=postgres;Port=5432;Database=clean-architecture;Username=postgres;Password=postgres;Include Error Detail=false" Database__ApplyMigrationsOnStartup: "true" depends_on: postgres: condition: service_healthy seq: condition: service_started ports: - 127.0.0.1:5000:8080 #- 127.0.0.1:5001:8081 volumes: - web-api-dataprotection:/home/app/.aspnet/DataProtection-Keys postgres: image: postgres:18.6 container_name: postgres environment: POSTGRES_DB: clean-architecture POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres volumes: - ./.containers/db:/var/lib/postgresql healthcheck: test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] interval: 5s timeout: 5s retries: 10 start_period: 10s ports: - 127.0.0.1:5432:5432 pgadmin: image: dpage/pgadmin4:9.18.0 container_name: pgadmin environment: PGADMIN_DEFAULT_EMAIL: admin@local.dev PGADMIN_DEFAULT_PASSWORD: local-dev-only depends_on: postgres: condition: service_healthy ports: - 127.0.0.1:5050:80 seq: image: datalust/seq:2026.1 container_name: seq environment: ACCEPT_EULA: "Y" SEQ_FIRSTRUN_ADMINPASSWORD: local-dev-only ports: - 127.0.0.1:8081:80 volumes: web-api-dataprotection: