services: database: image: postgres:17.11-alpine3.24@sha256:18cfe3ef5e6815560c98237d6216d1e5119702fb0f3894c8785dd58b8bbe5d73 restart: unless-stopped environment: POSTGRES_DB: ${DATABASE_NAME:?set DATABASE_NAME} POSTGRES_USER: ${DATABASE_USER:?set DATABASE_USER} POSTGRES_PASSWORD: ${DATABASE_PASSWORD:?set 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.0@sha256:200689790a0a0ea48ca45992e0450bc26ccab5307375b41c84dfc4f2475937ab restart: unless-stopped networks: - ingress expose: - "80" labels: showcase.description: "Example internal application" networks: data: internal: true ingress: name: ${INGRESS_NETWORK:?set INGRESS_NETWORK} external: true volumes: database-data: