53 lines
1.7 KiB
YAML
53 lines
1.7 KiB
YAML
# Web Module - Docker Compose Configuration
|
|
#
|
|
# Port Allocation (Dev API Gateway: 51100):
|
|
# 51100 - Web API (fact-checking service)
|
|
#
|
|
# Naming Convention: didiAI-{module}-{service}
|
|
#
|
|
# Profiles:
|
|
# api - Web API server
|
|
|
|
networks:
|
|
didi-network:
|
|
external: true # single shared network for all DIDI + AI platform stacks
|
|
|
|
services:
|
|
# ==========================================================================
|
|
# Web API Server
|
|
# ==========================================================================
|
|
web-api:
|
|
container_name: didiAI-web-api
|
|
image: didiai-web-api
|
|
build:
|
|
context: ..
|
|
dockerfile: deploy/Dockerfile
|
|
ports:
|
|
- "51100:51100"
|
|
shm_size: '2gb'
|
|
networks:
|
|
- didi-network
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
# Container-internal overrides (always set regardless of .env)
|
|
- WEB_HOST=0.0.0.0
|
|
- WEB_PORT=51100
|
|
# Tier-3 search fallback (cloak stealth-browser scraping service).
|
|
# Default OFF; flip to true once cloak service is verified healthy.
|
|
- WEB_CLOAK_ENABLED=${WEB_CLOAK_ENABLED:-false}
|
|
- WEB_CLOAK_URL=${WEB_CLOAK_URL:-http://didiAI-cloak:8770}
|
|
- WEB_CLOAK_FALLBACK_THRESHOLD=${WEB_CLOAK_FALLBACK_THRESHOLD:-5}
|
|
- WEB_CLOAK_TIMEOUT_SEC=${WEB_CLOAK_TIMEOUT_SEC:-20}
|
|
# OTel — traces to Jaeger via OTel Collector
|
|
- OTEL_EXPORTER_OTLP_ENDPOINT=${OTEL_EXPORTER_OTLP_ENDPOINT:-http://didi-otel-collector:4317}
|
|
- OTEL_SERVICE_NAME=didiAI-web-api
|
|
healthcheck:
|
|
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:51100/health')"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 30s
|
|
restart: unless-stopped
|
|
profiles:
|
|
- api
|