name: grok2api services: grok2api: container_name: grok2api image: "${GROK2API_IMAGE:-ghcr.io/chenyme/grok2api:latest}" ports: - "${GROK2API_PORT:-8000}:8000" environment: TZ: "${TZ:-Asia/Shanghai}" volumes: - "${GROK2API_CONFIG:-./config.yaml}:/run/grok2api/config.yaml:ro" - grok2api-data:/app/data restart: unless-stopped init: true stop_grace_period: 30s security_opt: - no-new-privileges:true # ================================ OPTIONAL: WARP ================================ # Self-host only. Uncomment if you want a local SOCKS egress for your own traffic. # After start, add socks5://warp:1080 under admin → egress nodes. # warp: # container_name: warp # image: caomingjun/warp:latest # profiles: ["warp"] # restart: unless-stopped # ports: # - "127.0.0.1:1080:1080" # environment: # - WARP_SLEEP=2 # cap_add: # - NET_ADMIN # ================================ OPTIONAL: SESSION HELPER ================================ # Self-host only. Optional browser-session helper for maintaining your own Web/Console # session cookies on private infrastructure. Not started by the HF Space image. # Start: docker compose --profile session-helper up -d # Then point admin settings at http://flaresolverr:8191 (service hostname unchanged). # flaresolverr: # container_name: flaresolverr # image: ghcr.io/flaresolverr/flaresolverr:latest # profiles: ["session-helper", "flaresolverr"] # environment: # TZ: Asia/Shanghai # LOG_LEVEL: info # restart: unless-stopped volumes: grok2api-data: