continuity/docker-compose.yml

93 lines
2.1 KiB
YAML

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: 1024m
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
mem_limit: 1024m
jaeger:
container_name: continuity-jaeger
image: jaegertracing/all-in-one:1.53.0
restart: always
depends_on:
- server
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:3.0.5
restart: always
ports:
- 9411:9411
networks:
- continuity
networks:
continuity:
volumes:
db-data:
server-logs: