|
| 1 | +services: |
| 2 | + openclaw-gateway: |
| 3 | + image: ${OPENCLAW_IMAGE:-openclaw-os:local} |
| 4 | + build: |
| 5 | + context: . |
| 6 | + args: |
| 7 | + OPENCLAW_VERSION: ${OPENCLAW_VERSION:-2026.5.27} |
| 8 | + OPENCLAW_OS_PLUGIN_VERSION: ${OPENCLAW_OS_PLUGIN_VERSION:-0.1.5} |
| 9 | + env_file: |
| 10 | + - path: .env |
| 11 | + required: false |
| 12 | + environment: |
| 13 | + HOME: /home/node |
| 14 | + OPENCLAW_HOME: /home/node |
| 15 | + OPENCLAW_STATE_DIR: /home/node/.openclaw |
| 16 | + OPENCLAW_CONFIG_DIR: /home/node/.openclaw |
| 17 | + OPENCLAW_CONFIG_PATH: /home/node/.openclaw/openclaw.json |
| 18 | + OPENCLAW_WORKSPACE_DIR: /home/node/.openclaw/workspace |
| 19 | + OPENCLAW_GATEWAY_BIND: ${OPENCLAW_GATEWAY_BIND:-lan} |
| 20 | + OPENCLAW_GATEWAY_AUTH_MODE: ${OPENCLAW_GATEWAY_AUTH_MODE:-token} |
| 21 | + OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN:-} |
| 22 | + OPENCLAW_GATEWAY_HOST_PORT: ${OPENCLAW_GATEWAY_HOST_PORT:-18789} |
| 23 | + OPENCLAW_CONTROL_UI_EXTRA_ORIGINS: ${OPENCLAW_CONTROL_UI_EXTRA_ORIGINS:-} |
| 24 | + OPENCLAW_BOOTSTRAP_CONFIG: /etc/openclaw-os/openclaw-os.yaml |
| 25 | + OPENCLAW_OS_AUTO_INSTALL: ${OPENCLAW_OS_AUTO_INSTALL:-1} |
| 26 | + OPENCLAW_OS_PLUGIN_SPEC: ${OPENCLAW_OS_PLUGIN_SPEC:-} |
| 27 | + OPENCLAW_DISABLE_BONJOUR: ${OPENCLAW_DISABLE_BONJOUR:-1} |
| 28 | + OPENAI_API_KEY: ${OPENAI_API_KEY:-} |
| 29 | + ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-} |
| 30 | + OPENROUTER_API_KEY: ${OPENROUTER_API_KEY:-} |
| 31 | + GOOGLE_API_KEY: ${GOOGLE_API_KEY:-} |
| 32 | + GEMINI_API_KEY: ${GEMINI_API_KEY:-} |
| 33 | + TZ: ${OPENCLAW_TZ:-UTC} |
| 34 | + volumes: |
| 35 | + - ./openclaw-os.yaml:/etc/openclaw-os/openclaw-os.yaml:ro |
| 36 | + - ${OPENCLAW_CONFIG_DIR:-./data/openclaw}:/home/node/.openclaw |
| 37 | + - ${OPENCLAW_AUTH_PROFILE_SECRET_DIR:-./data/openclaw-auth-profile-secrets}:/home/node/.config/openclaw |
| 38 | + ports: |
| 39 | + - "${OPENCLAW_GATEWAY_HOST_PORT:-18789}:18789" |
| 40 | + - "${OPENCLAW_BRIDGE_HOST_PORT:-18790}:18790" |
| 41 | + - "${OPENCLAW_MSTEAMS_HOST_PORT:-3978}:3978" |
| 42 | + extra_hosts: |
| 43 | + - "host.docker.internal:host-gateway" |
| 44 | + cap_drop: |
| 45 | + - NET_RAW |
| 46 | + - NET_ADMIN |
| 47 | + security_opt: |
| 48 | + - no-new-privileges:true |
| 49 | + restart: unless-stopped |
| 50 | + |
| 51 | + openclaw-cli: |
| 52 | + image: ${OPENCLAW_IMAGE:-openclaw-os:local} |
| 53 | + profiles: |
| 54 | + - tools |
| 55 | + network_mode: "service:openclaw-gateway" |
| 56 | + env_file: |
| 57 | + - path: .env |
| 58 | + required: false |
| 59 | + environment: |
| 60 | + HOME: /home/node |
| 61 | + OPENCLAW_HOME: /home/node |
| 62 | + OPENCLAW_STATE_DIR: /home/node/.openclaw |
| 63 | + OPENCLAW_CONFIG_DIR: /home/node/.openclaw |
| 64 | + OPENCLAW_CONFIG_PATH: /home/node/.openclaw/openclaw.json |
| 65 | + OPENCLAW_WORKSPACE_DIR: /home/node/.openclaw/workspace |
| 66 | + OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN:-} |
| 67 | + OPENCLAW_BOOTSTRAP_CONFIG: /etc/openclaw-os/openclaw-os.yaml |
| 68 | + BROWSER: echo |
| 69 | + TZ: ${OPENCLAW_TZ:-UTC} |
| 70 | + volumes: |
| 71 | + - ./openclaw-os.yaml:/etc/openclaw-os/openclaw-os.yaml:ro |
| 72 | + - ${OPENCLAW_CONFIG_DIR:-./data/openclaw}:/home/node/.openclaw |
| 73 | + - ${OPENCLAW_AUTH_PROFILE_SECRET_DIR:-./data/openclaw-auth-profile-secrets}:/home/node/.config/openclaw |
| 74 | + cap_drop: |
| 75 | + - NET_RAW |
| 76 | + - NET_ADMIN |
| 77 | + security_opt: |
| 78 | + - no-new-privileges:true |
| 79 | + entrypoint: ["tini", "-s", "--", "docker-entrypoint.sh"] |
| 80 | + command: ["cli", "--help"] |
| 81 | + depends_on: |
| 82 | + openclaw-gateway: |
| 83 | + condition: service_healthy |
0 commit comments