services: server: container_name: continuity-server image: continuity:latest restart: always depends_on: - db environment: - ENVIRONMENT=Development - Testing:CreateAccountOnLogin=true - DB:Host=db - DB:Port=5432 - DB:Username=continuity - DB:Password=continuity - Game:Data:Path=/app/data/ - Tracing:Enabled=true - OTLP:Tracing:Endpoint=http://otel-collector:4317 - OTLP:Logging:Endpoint=http://otel-collector:4317 - OTLP:Metrics:Endpoint=http://otel-collector:4317 - Zipkin:Endpoint=http://zipkin:9411/api/v2/spans networks: - continuity ports: - 10001:10001 volumes: - type: bind source: wk-data target: /app/data read_only: true - type: bind source: config target: /app/config read_only: true mem_limit: 100m db: container_name: continuity-db image: postgres:16.1-alpine restart: always environment: - POSTGRES_USER=continuity - POSTGRES_DB=continuity - POSTGRES_PASSWORD=continuity networks: - continuity ports: - 5432:5432 volumes: - db-data:/var/lib/postgresql/data healthcheck: test: [ CMD-SHELL, 'pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}' ] interval: 10s timeout: 3s retries: 3 jaeger: container_name: continuity-jaeger image: jaegertracing/all-in-one:1.51.0 restart: always depends_on: - server - prometheus networks: - continuity expose: - 14250 - 14268 - 14269 ports: - 16686:16686 environment: - COLLECTOR_OTLP_ENABLED=true - METRICS_STORAGE_TYPE=prometheus - PROMETHEUS_SERVER_URL=http://prometheus:9090 - PROMETHEUS_QUERY_SUPPORT_SPANMETRICS_CONNECTOR=true - PROMETHEUS_QUERY_NORMALIZE_CALLS=true - PROMETHEUS_QUERY_NORMALIZE_DURATION=true zipkin: container_name: continuity-zipkin image: openzipkin/zipkin:2.24.3 restart: always ports: - 9411:9411 networks: - continuity networks: continuity: volumes: db-data: server-logs: