开启左侧

使用Docker安装OpenClaw

[复制链接]
AI小编 发表于 5 天前 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
作者:CSDN博客
1、安装Docker

合集:Docker安装与使用
2、安装OpenClaw
  1. 详见:https://docs.openclaw.ai/zh-CN/install/docker
复制代码
创建目录:
  1. mkdir openclaw
复制代码
切换目录:
  1. cd openclaw
复制代码
下载docker-compose.yml文件:
  1. 详见:https://github.com/openclaw/openclaw/blob/main/docker-compose.yml
复制代码
  1. # 方式1:
  2. wget https://raw.githubusercontent.com/openclaw/openclaw/main/docker-compose.yml
  3. # 方式2:使用代理下载
  4. # 详见:https://mp.weixin.qq.com/s/XTbT3wKp_W2fiK7pGpo7Qg
  5. wget https://gh-proxy.com/https://raw.githubusercontent.com/openclaw/openclaw/main/docker-compose.yml
复制代码
查看docker-compose.yml文件:
  1. services:
  2.   openclaw-gateway:
  3.     image: ${OPENCLAW_IMAGE:-openclaw:local}
  4.     environment:
  5.       HOME: /home/node
  6.       TERM: xterm-256color
  7.       OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN:-}
  8.       OPENCLAW_ALLOW_INSECURE_PRIVATE_WS: ${OPENCLAW_ALLOW_INSECURE_PRIVATE_WS:-}
  9.       CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY:-}
  10.       CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY:-}
  11.       CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE:-}
  12.     volumes:
  13.       - ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw
  14.       - ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace
  15.       ## Uncomment the lines below to enable sandbox isolation
  16.       ## (agents.defaults.sandbox). Requires Docker CLI in the image
  17.       ## (build with --build-arg OPENCLAW_INSTALL_DOCKER_CLI=1) or use
  18.       ## docker-setup.sh with OPENCLAW_SANDBOX=1 for automated setup.
  19.       ## Set DOCKER_GID to the host's docker group GID (run: stat -c '%g' /var/run/docker.sock).
  20.       # - /var/run/docker.sock:/var/run/docker.sock
  21.     # group_add:
  22.     #   - "${DOCKER_GID:-999}"
  23.     ports:
  24.       - "${OPENCLAW_GATEWAY_PORT:-18789}:18789"
  25.       - "${OPENCLAW_BRIDGE_PORT:-18790}:18790"
  26.     init: true
  27.     restart: unless-stopped
  28.     command:
  29.       [
  30.         "node",
  31.         "dist/index.js",
  32.         "gateway",
  33.         "--bind",
  34.         "${OPENCLAW_GATEWAY_BIND:-lan}",
  35.         "--port",
  36.         "18789",
  37.       ]
  38.     healthcheck:
  39.       test:
  40.         [
  41.           "CMD",
  42.           "node",
  43.           "-e",
  44.           "fetch('http://127.0.0.1:18789/healthz').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))",
  45.         ]
  46.       interval: 30s
  47.       timeout: 5s
  48.       retries: 5
  49.       start_period: 20s
  50.   openclaw-cli:
  51.     image: ${OPENCLAW_IMAGE:-openclaw:local}
  52.     network_mode: "service:openclaw-gateway"
  53.     cap_drop:
  54.       - NET_RAW
  55.       - NET_ADMIN
  56.     security_opt:
  57.       - no-new-privileges:true
  58.     environment:
  59.       HOME: /home/node
  60.       TERM: xterm-256color
  61.       OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN:-}
  62.       OPENCLAW_ALLOW_INSECURE_PRIVATE_WS: ${OPENCLAW_ALLOW_INSECURE_PRIVATE_WS:-}
  63.       BROWSER: echo
  64.       CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY:-}
  65.       CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY:-}
  66.       CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE:-}
  67.     volumes:
  68.       - ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw
  69.       - ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace
  70.     stdin_open: true
  71.     tty: true
  72.     init: true
  73.     entrypoint: ["node", "dist/index.js"]
  74.     depends_on:
  75.       - openclaw-gateway
复制代码
下载.env.example文件:
  1. 详见:https://github.com/openclaw/openclaw/blob/main/.env.example
复制代码
  1. # 方式1:
  2. wget https://raw.githubusercontent.com/openclaw/openclaw/main/.env.example
  3. # 方式2:使用代理下载
  4. # 详见:https://mp.weixin.qq.com/s/XTbT3wKp_W2fiK7pGpo7Qg
  5. wget https://gh-proxy.com/https://raw.githubusercontent.com/openclaw/openclaw/main/.env.example
复制代码
查看.env.example文件:
  1. # OpenClaw .env example
  2. #
  3. # Quick start:
  4. # 1) Copy this file to `.env` (for local runs from this repo), OR to `~/.openclaw/.env` (for launchd/systemd daemons).
  5. # 2) Fill only the values you use.
  6. # 3) Keep real secrets out of git.
  7. #
  8. # Env-source precedence for environment variables (highest -> lowest):
  9. # process env, ./.env, ~/.openclaw/.env, then openclaw.json `env` block.
  10. # Existing non-empty process env vars are not overridden by dotenv/config env loading.
  11. # Note: direct config keys (for example `gateway.auth.token` or channel tokens in openclaw.json)
  12. # are resolved separately from env loading and often take precedence over env fallbacks.
  13. # -----------------------------------------------------------------------------
  14. # Gateway auth + paths
  15. # -----------------------------------------------------------------------------
  16. # Recommended if the gateway binds beyond loopback.
  17. OPENCLAW_GATEWAY_TOKEN=change-me-to-a-long-random-token
  18. # Example generator: openssl rand -hex 32
  19. # Optional alternative auth mode (use token OR password).
  20. # OPENCLAW_GATEWAY_PASSWORD=change-me-to-a-strong-password
  21. # Optional path overrides (defaults shown for reference).
  22. # OPENCLAW_STATE_DIR=~/.openclaw
  23. # OPENCLAW_CONFIG_PATH=~/.openclaw/openclaw.json
  24. # OPENCLAW_HOME=~
  25. # Optional: import missing keys from your login shell profile.
  26. # OPENCLAW_LOAD_SHELL_ENV=1
  27. # OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
  28. # -----------------------------------------------------------------------------
  29. # Model provider API keys (set at least one)
  30. # -----------------------------------------------------------------------------
  31. # OPENAI_API_KEY=sk-...
  32. # ANTHROPIC_API_KEY=sk-ant-...
  33. # GEMINI_API_KEY=...
  34. # OPENROUTER_API_KEY=sk-or-...
  35. # OPENCLAW_LIVE_OPENAI_KEY=sk-...
  36. # OPENCLAW_LIVE_ANTHROPIC_KEY=sk-ant-...
  37. # OPENCLAW_LIVE_GEMINI_KEY=...
  38. # OPENAI_API_KEY_1=...
  39. # ANTHROPIC_API_KEY_1=...
  40. # GEMINI_API_KEY_1=...
  41. # GOOGLE_API_KEY=...
  42. # OPENAI_API_KEYS=sk-1,sk-2
  43. # ANTHROPIC_API_KEYS=sk-ant-1,sk-ant-2
  44. # GEMINI_API_KEYS=key-1,key-2
  45. # Optional additional providers
  46. # ZAI_API_KEY=...
  47. # AI_GATEWAY_API_KEY=...
  48. # MINIMAX_API_KEY=...
  49. # SYNTHETIC_API_KEY=...
  50. # -----------------------------------------------------------------------------
  51. # Channels (only set what you enable)
  52. # -----------------------------------------------------------------------------
  53. # TELEGRAM_BOT_TOKEN=123456:ABCDEF...
  54. # DISCORD_BOT_TOKEN=...
  55. # SLACK_BOT_TOKEN=xoxb-...
  56. # SLACK_APP_TOKEN=xapp-...
  57. # Optional channel env fallbacks
  58. # MATTERMOST_BOT_TOKEN=...
  59. # MATTERMOST_URL=https://chat.example.com
  60. # ZALO_BOT_TOKEN=...
  61. # OPENCLAW_TWITCH_ACCESS_TOKEN=oauth:...
  62. # -----------------------------------------------------------------------------
  63. # Tools + voice/media (optional)
  64. # -----------------------------------------------------------------------------
  65. # BRAVE_API_KEY=...
  66. # PERPLEXITY_API_KEY=pplx-...
  67. # FIRECRAWL_API_KEY=...
  68. # ELEVENLABS_API_KEY=...
  69. # XI_API_KEY=...  # alias for ElevenLabs
  70. # DEEPGRAM_API_KEY=...
复制代码
复制.env.example文件:
  1. cp .env.example .env
复制代码
修改.env文件:
  1. # 修改token/令牌:
  2. sed -i "s/OPENCLAW_GATEWAY_TOKEN=change-me-to-a-long-random-token/OPENCLAW_GATEWAY_TOKEN=$(openssl rand -hex 32)/g" .env
  3. # 修改配置文件所在目录:
  4. echo "" >> .env
  5. echo "OPENCLAW_CONFIG_DIR=./config" >> .env
  6. echo "OPENCLAW_WORKSPACE_DIR=./config/workspace" >> .env
  7. # 修改镜像:
  8. echo "" >> .env
  9. echo "OPENCLAW_IMAGE=ghcr.nju.edu.cn/openclaw/openclaw:latest" >> .env
复制代码
查看token/网关令牌:
  1. cat .env | grep OPENCLAW_GATEWAY_TOKEN
复制代码
使用Docker安装OpenClaw-1.png


创建目录并添加权限:
  1. 详见:
  2. https://docs.openclaw.ai/zh-CN/install/docker#权限-+-eacces
  3. https://github.com/openclaw/openclaw/issues/21571
  4. https://github.com/openclaw/openclaw/issues/27336
  5. https://coclaw.com/troubleshooting/solutions/docker-eacces-openclaw-config-dir
复制代码
使用Docker安装OpenClaw-2.png

  1. # 1、创建目录
  2. mkdir -p ./config/workspace
  3. # 2、添加配置
  4. cat << EOF > config/openclaw.json
  5. {
  6.   "gateway": {
  7.     "mode": "local",
  8.     "bind": "lan",
  9.     "port": 18789,
  10.     "controlUi": {
  11.       "dangerouslyAllowHostHeaderOriginFallback": true,
  12.       "allowInsecureAuth": true,
  13.       "dangerouslyDisableDeviceAuth": true
  14.     }
  15.   }
  16. }
  17. EOF
  18. # 3、修改组、添加权限
  19. chown -R 1000:1000 ./config
  20. #chmod -R 777 ./config
复制代码
使用Docker安装OpenClaw-3.png


创建并启动容器:
  1. docker-compose up -d
复制代码
查看容器列表:
  1. docker ps
复制代码
停止并销毁容器:
  1. docker-compose down
复制代码
删除目录:
  1. rm -rf ./config
复制代码
删除镜像:
  1. docker rmi ghcr.nju.edu.cn/openclaw/openclaw:latest
复制代码
3、浏览器访问
  1. 假设当前ip为192.168.186.128
  2. 浏览器访问:http://192.168.186.128:18789
复制代码
首页:
使用Docker安装OpenClaw-4.png


点击Overview/概览:
使用Docker安装OpenClaw-5.png

  1. 填写"Gateway Token" 或 "网关令牌"
  2. 选择"Language" 或 "语言"
复制代码
使用Docker安装OpenClaw-6.png

  1. 点击"Connect" 或 "连接"
复制代码
使用Docker安装OpenClaw-7.png


4、模型提供商
  1. 当前选用"Qwen"
  2. Qwen 为 Qwen Coder 和 Qwen Vision 模型提供免费层 OAuth 流程(每天 2,000 次请求,受 Qwen 速率限制约束)。
复制代码
  1. 详见:
  2. # openclaw.ai
  3. https://docs.openclaw.ai/zh-CN/providers
  4. https://docs.openclaw.ai/zh-CN/concepts/model-providers#qwen-oauth(免费层级)
  5. https://docs.openclaw.ai/zh-CN/providers/qwen
  6. # qwen.ai
  7. https://qwen.ai
  8. https://qwen.ai/qwencode
  9. https://qwenlm.github.io/qwen-code-docs/zh/users/overview
复制代码
使用Docker安装OpenClaw-8.png


查看容器列表:
  1. docker ps --format "{{.ID}} {{.Image}}  {{.Names}}"
复制代码
使用Docker安装OpenClaw-9.png


启用插件:
  1. # 命令格式:docker exec -it 容器名称 命令
  2. docker exec -it openclaw-openclaw-gateway-1 openclaw plugins enable qwen-portal-auth
复制代码
认证:
  1. # 命令格式:docker exec -it 容器名称 命令
  2. docker exec -it openclaw-openclaw-gateway-1 openclaw models auth login --provider qwen-portal --set-default
复制代码
使用Docker安装OpenClaw-10.png


浏览器访问:
使用Docker安装OpenClaw-11.png

  1. 访问地址格式如下:
  2. https://chat.qwen.ai/authorize?user_code={USER_CODE}&client=qwen-code
复制代码
  1. 如果没有注册,请先注册,否则,请登录。
复制代码
使用Docker安装OpenClaw-12.png


使用Docker安装OpenClaw-13.png


使用Docker安装OpenClaw-14.png


查看代理:
使用Docker安装OpenClaw-15.png


聊天:
使用Docker安装OpenClaw-16.png


使用Docker安装OpenClaw-17.png


5、详见
  1. https://openclaw.ai
  2. https://docs.openclaw.ai/getting-started
  3. https://docs.openclaw.ai/zh-CN
  4. https://github.com/openclaw/openclaw
  5. https://clawhub.ai
复制代码
原文地址:https://blog.csdn.net/janthinasnail/article/details/158978452
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
阅读排行更多+

Powered by Discuz! X3.4© 2001-2013 Discuz Team.( 京ICP备17022993号-3 )