services: budget: image: ${IMAGE_REGISTRY:-}budget:latest environment: - VIRTUAL_HOST=${BUDGET_VIRTUAL_HOST:-budget.stwaddle.com} - LETSENCRYPT_HOST=${BUDGET_LETSENCRYPT_HOST:-budget.stwaddle.com} - VIRTUAL_PORT=8080 - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT:-Production} - ConnectionStrings__DefaultConnection=Host=apps-db;Port=5432;Database=${POSTGRES_DB:-budget};Username=${POSTGRES_USER:-budget};Password=${POSTGRES_PASSWORD} - OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317 - OTEL_EXPORTER_OTLP_PROTOCOL=grpc - OTEL_SERVICE_NAME=budget depends_on: - apps-db - auth networks: - web - apps-internal - auth-public - telemetry restart: unless-stopped apps-db: image: postgres:16-alpine environment: - POSTGRES_DB=${POSTGRES_DB:-budget} - POSTGRES_USER=${POSTGRES_USER:-budget} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} volumes: - apps-db-data:/var/lib/postgresql/data networks: - apps-internal restart: unless-stopped networks: web: external: true apps-internal: external: true auth-public: external: true telemetry: external: true volumes: apps-db-data: