services: error-tracer: build: context: . image: error-tracer:local init: true restart: unless-stopped read_only: true cap_drop: - ALL security_opt: - no-new-privileges:true ports: # Loopback by default, matching the documented `docker run` command. # Set ERROR_TRACER_BIND to 0.0.0.0 only behind a TLS terminator. - "${ERROR_TRACER_BIND:-127.0.0.1}:${ERROR_TRACER_PORT:-8080}:8080" environment: ERROR_TRACER_ADDRESS: ":8080" ERROR_TRACER_DATABASE_PATH: "/data/error-tracer.db" ERROR_TRACER_SQLITE_MAX_OPEN_CONNECTIONS: "${ERROR_TRACER_SQLITE_MAX_OPEN_CONNECTIONS:-4}" ERROR_TRACER_MAX_EVENTS_PER_ISSUE: "${ERROR_TRACER_MAX_EVENTS_PER_ISSUE:-100}" ERROR_TRACER_PROJECT_ID: "${ERROR_TRACER_PROJECT_ID:-default}" ERROR_TRACER_INGEST_KEY: "${ERROR_TRACER_INGEST_KEY:?Set ERROR_TRACER_INGEST_KEY in .env}" ERROR_TRACER_ADMIN_TOKEN: "${ERROR_TRACER_ADMIN_TOKEN:?Set ERROR_TRACER_ADMIN_TOKEN in .env}" ERROR_TRACER_ADMIN_TOKEN_PREVIOUS: "${ERROR_TRACER_ADMIN_TOKEN_PREVIOUS:-}" ERROR_TRACER_ALLOWED_ORIGINS: "${ERROR_TRACER_ALLOWED_ORIGINS:-}" ERROR_TRACER_METRICS_ENABLED: "${ERROR_TRACER_METRICS_ENABLED:-false}" ERROR_TRACER_RATE_PER_MINUTE: "${ERROR_TRACER_RATE_PER_MINUTE:-120}" ERROR_TRACER_RATE_BURST: "${ERROR_TRACER_RATE_BURST:-30}" ERROR_TRACER_RETENTION_DAYS: "${ERROR_TRACER_RETENTION_DAYS:-90}" ERROR_TRACER_MAX_ISSUES: "${ERROR_TRACER_MAX_ISSUES:-0}" ERROR_TRACER_SDK_CORS_ENABLED: "${ERROR_TRACER_SDK_CORS_ENABLED:-false}" ERROR_TRACER_DEMO_MODE: "${ERROR_TRACER_DEMO_MODE:-false}" volumes: - error-tracer-data:/data tmpfs: - /tmp:mode=1777,size=16m stop_grace_period: 15s volumes: error-tracer-data: