services: database: image: postgres:17-alpine restart: unless-stopped environment: POSTGRES_DB: ${DATABASE_NAME} POSTGRES_USER: ${DATABASE_USER} POSTGRES_PASSWORD: ${DATABASE_PASSWORD} volumes: - database-data:/var/lib/postgresql/data networks: - data healthcheck: test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] interval: 10s timeout: 5s retries: 5 application: image: traefik/whoami:v1.11 restart: unless-stopped depends_on: database: condition: service_healthy networks: - data - ingress expose: - "80" labels: showcase.description: "Example internal application" networks: data: internal: true ingress: name: ${INGRESS_NETWORK} external: true volumes: database-data: