name: grok2api services: grok2api: container_name: grok2api image: "${GROK2API_IMAGE:-ghcr.io/owen891/grok2api:main}" build: context: . dockerfile: Dockerfile args: NODE_VERSION: "${NODE_VERSION:-22}" GO_VERSION: "${GO_VERSION:-1.26}" pull_policy: missing ports: - "${GROK2API_PORT:-8000}:8000" environment: TZ: "${TZ:-Asia/Shanghai}" GROK_WEB_BROWSER_WORKER_URL: "http://grok-web-browser:8192" GROK2API_REGISTRATION_COMMAND: "grok2api-registration" REGISTRATION_PROXY: "${REGISTRATION_PROXY:-}" REGISTRATION_SOLVER_PROXY: "${REGISTRATION_SOLVER_PROXY:-}" REGISTRATION_HTTP_PROXY: "${REGISTRATION_HTTP_PROXY:-}" REGISTRATION_HTTPS_PROXY: "${REGISTRATION_HTTPS_PROXY:-}" REGISTRATION_ALL_PROXY: "${REGISTRATION_ALL_PROXY:-}" NO_PROXY: "${NO_PROXY:-127.0.0.1,localhost,grok-web-browser}" extra_hosts: - "host.docker.internal:host-gateway" volumes: - "${GROK2API_CONFIG:-./config.yaml}:/run/grok2api/config.yaml:ro" - grok2api-data:/app/data restart: unless-stopped init: true stop_grace_period: 30s depends_on: grok-web-browser: condition: service_healthy security_opt: - no-new-privileges:true grok-web-browser: container_name: grok-web-browser image: "${FLARESOLVERR_IMAGE:-ghcr.io/flaresolverr/flaresolverr@sha256:139dfee1c6f89249c8d665d1333a42e8ec74ec0a86bc6bb1c8461e10d3a66a47}" command: - /usr/local/bin/python - -u - /opt/grok-worker/grok_web_browser_worker.py - --listen - 0.0.0.0:8192 environment: TZ: "${TZ:-Asia/Shanghai}" HEADLESS: "true" LOG_LEVEL: info GROK_WORKER_LOOPBACK_PROXY_HOST: "host.docker.internal" extra_hosts: - "host.docker.internal:host-gateway" ports: - "127.0.0.1:${GROK_WEB_BROWSER_WORKER_PORT:-18292}:8192" volumes: - ./scripts/grok_web_browser_worker.py:/opt/grok-worker/grok_web_browser_worker.py:ro shm_size: "2gb" restart: unless-stopped init: true stop_grace_period: 20s healthcheck: test: ["CMD", "curl", "-fsS", "http://127.0.0.1:8192/healthz"] interval: 10s timeout: 3s retries: 6 start_period: 10s security_opt: - no-new-privileges:true # 如果出口 IP 不干净,可取消以下注释使用 WARP 作为落地代理。 # 启用后,在管理端“设置 -> 出口代理”中新增 socks5://warp:1080。 # warp: # container_name: warp # image: caomingjun/warp:latest # restart: unless-stopped # ports: # - "127.0.0.1:1080:1080" # environment: # - WARP_SLEEP=2 # cap_add: # - NET_ADMIN volumes: grok2api-data: