Files
budget/docker-compose.yml
T
Spencer Twaddle bfd5880b9c Phase 2: Add OTel env vars and telemetry network to docker-compose
Wires the budget container to the OTel Collector via the shared external
telemetry network. Endpoint, protocol, and service name come from env vars
so the collector address is not baked into application code.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 17:29:30 -05:00

47 lines
1.2 KiB
YAML

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: