services: openclaw-gateway: build: context: . dockerfile: ./Dockerfile image: openclaw-clawteam:latest deploy: resources: limits: cpus: '4' memory: 8G reservations: memory: 2G environment: HOME: /home/node TERM: xterm-256color NODE_OPTIONS: "--max-old-space-size=8192" OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN:-team-token} OPENCLAW_ALLOW_INSECURE_PRIVATE_WS: "true" CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY:-} CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY:-} CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE:-} TZ: ${OPENCLAW_TZ:-UTC} volumes: - ${OPENCLAW_CONFIG_DIR:-./.openclaw}:/home/node/.openclaw - ${CLAWTEAM_CONFIG_DIR:-./.clawteam}:/home/node/.clawteam - ${OPENCLAW_WORKSPACE_DIR:-./.openclaw/workspace}:/home/node/.openclaw/workspace ports: - "${OPENCLAW_GATEWAY_PORT:-18789}:18789" - "${OPENCLAW_BRIDGE_PORT:-18789}:18789" init: true restart: unless-stopped command: - /bin/bash - -c - | npm install openclaw@latest --no-save openclaw config set gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback true exec openclaw gateway --bind "${OPENCLAW_GATEWAY_BIND:-lan}" --port 18789 --allow-unconfigured healthcheck: test: [ "CMD", "node", "-e", "fetch('http://127.0.0.1:18789/healthz').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))" ] interval: 30s timeout: 5s retries: 5 start_period: 20s # openclaw-cli: # image: openclaw-clawteam:latest # pull_policy: build # network_mode: "service:openclaw-gateway" # deploy: # resources: # limits: # cpus: '2' # memory: 4G # cap_drop: # - NET_RAW # - NET_ADMIN # security_opt: # - no-new-privileges:true # environment: # HOME: /home/node # TERM: xterm-256color # NODE_OPTIONS: "--max-old-space-size=4096" # OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN:-team-token} # OPENCLAW_ALLOW_INSECURE_PRIVATE_WS: ${OPENCLAW_ALLOW_INSECURE_PRIVATE_WS:-} # BROWSER: echo # CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY:-} # CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY:-} # CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE:-} # TZ: ${OPENCLAW_TZ:-UTC} # volumes: # - ${OPENCLAW_CONFIG_DIR:-./.openclaw}:/home/node/.openclaw # - ${OPENCLAW_WORKSPACE_DIR:-./.openclaw/workspace}:/home/node/.openclaw/workspace # stdin_open: true # tty: true # init: true # entrypoint: [ "/bin/bash", "-c" ] # command: [ "tail -f /dev/null" ] # depends_on: # - openclaw-gateway