version: "3.8" services: openclaw-init-perms: image: alpine:3.20 container_name: openclaw-init-perms restart: "no" command: [ "sh", "-c", "mkdir -p /config /workspace && chown -R 1000:1000 /config /workspace && chmod 755 /config /workspace", ] volumes: - openclaw-config:/config - openclaw-workspace:/workspace openclaw-gateway: build: context: ./docker dockerfile: Dockerfile platforms: - linux/arm64 image: openclaw:custom-arm64 container_name: openclaw-gateway restart: unless-stopped depends_on: openclaw-init-perms: condition: service_completed_successfully environment: HOME: /home/node TERM: xterm-256color OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN} MOONSHOT_API_KEY: ${MOONSHOT_API_KEY} OPENAI_API_KEY: ${OPENAI_API_KEY} OPENCLAW_GATEWAY_BIND: ${OPENCLAW_GATEWAY_BIND:-lan} OPENCLAW_TAILSCALE_MODE: ${OPENCLAW_TAILSCALE_MODE:-off} OPENCLAW_ENABLE_TAILSCALE: ${OPENCLAW_ENABLE_TAILSCALE:-0} GOG_ACCOUNT: ${GOG_ACCOUNT:-} TAILSCALE_AUTH_KEY: ${TAILSCALE_AUTH_KEY:-} TAILSCALE_HOSTNAME: ${TAILSCALE_HOSTNAME:-openclaw-gateway} volumes: - openclaw-config:/home/node/.openclaw - openclaw-workspace:/home/node/.openclaw/workspace ports: - "${OPENCLAW_GATEWAY_PORT:-18789}:18789" - "${OPENCLAW_BRIDGE_PORT:-18790}:18790" privileged: true init: true networks: - dokploy-network command: ["/usr/local/bin/start-gateway.sh"] # healthcheck: # test: ["CMD", "healthcheck.sh"] # interval: 30s # timeout: 10s # retries: 3 # start_period: 30s volumes: openclaw-config: openclaw-workspace: networks: dokploy-network: external: true