绿联云 NAS 安装 OpenClaw 简明指南

绿联云 NAS 安装 OpenClaw 简明指南

本文记录在绿联云 NAS(UGOS Pro)上通过 Docker Compose 部署 OpenClaw,并接入 OpenAI 兼容模型接口的过程。

1. 准备目录

bash 复制代码
sudo mkdir -p \
  /volume1/docker/openclaw/data \
  /volume1/docker/openclaw/auth-profile-secrets \
  /volume1/AIWorkspace/openclaw

2. 创建 Docker Compose

/volume1/docker/openclaw/docker-compose.yml 中写入:

yaml 复制代码
services:
  openclaw-gateway:
    # OpenClaw 官方容器镜像。
    # 初次测试可以使用 latest;稳定运行后建议固定具体版本号,避免自动更新造成兼容问题。
    image: ghcr.io/openclaw/openclaw:latest

    # 固定容器名称,方便在绿联云管理界面中查找。
    container_name: openclaw

    # NAS 或 Docker 重启后自动启动;手动停止后不会自动拉起。
    restart: unless-stopped

    # 使用轻量 init 进程,正确回收子进程,建议保留。
    init: true

    ports:
      # NAS 端口:容器端口。
      # 局域网通过 http://NAS_IP:18789 访问。
      - "18789:18789"

    environment:
      # 容器内 node 用户的主目录。
      HOME: /home/node
      OPENCLAW_HOME: /home/node

      # 时区,可根据实际所在地修改。
      TZ: Asia/Shanghai

      # 改善容器终端输出兼容性。
      TERM: xterm-256color

      # OpenClaw 状态、配置和工作区路径。
      OPENCLAW_STATE_DIR: /home/node/.openclaw
      OPENCLAW_CONFIG_DIR: /home/node/.openclaw
      OPENCLAW_CONFIG_PATH: /home/node/.openclaw/openclaw.json
      OPENCLAW_WORKSPACE_DIR: /home/node/.openclaw/workspace

      # 网关访问令牌。
      # 请在绿联云项目环境变量或同目录 .env 文件中设置,不能留空。
      OPENCLAW_GATEWAY_TOKEN: "${OPENCLAW_GATEWAY_TOKEN}"

      # Docker 桥接网络通常无法正确传递 Bonjour/mDNS,NAS 环境建议关闭。
      OPENCLAW_DISABLE_BONJOUR: "1"

    volumes:
      # OpenClaw 配置、状态、身份信息和会话数据。
      - /volume1/docker/openclaw/data:/home/node/.openclaw
      # OAuth/API 身份资料的本地加密密钥,建议单独持久化并妥善备份。
      - /volume1/docker/openclaw/auth_profile_secrets:/home/node/.config/openclaw
      # Agent 工作区。这个独立挂载会覆盖上面 data 目录中的 workspace 子目录。
      - /volume1/docker/openclaw/workspace:/home/node/.openclaw/workspace



    command:
      # 使用官方当前 Docker Compose 的启动入口。
      - node
      - dist/index.js
      - gateway

      # Docker 端口映射要求监听容器所有网络接口。
      - --bind
      - lan

      # 网关在容器内部监听的端口。
      - --port
      - "18789"

    # 如果需要让容器访问 NAS 上运行的 Ollama 或 LM Studio,可保留此项。
    # 容器内可使用 http://host.docker.internal:11434 访问 NAS 的 Ollama。
    extra_hosts:
      - "host.docker.internal:host-gateway"

    # 定期检测网关是否正常。
    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

    # 禁止进程获得额外权限。
    security_opt:
      - no-new-privileges:true

    # 移除网关不需要的网络能力。
    cap_drop:
      - NET_RAW
      - NET_ADMIN

    # 控制 Docker 日志大小,避免长期运行占满 NAS 空间。
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"

3. 设置网关令牌

/volume1/docker/openclaw/.env 中写入:

dotenv 复制代码
OPENCLAW_GATEWAY_TOKEN=请替换为高强度随机令牌

可使用以下命令生成:

bash 复制代码
openssl rand -hex 32

不要公开网关令牌或模型 API Key。

4. 首次初始化

进入项目目录:

bash 复制代码
cd /volume1/docker/openclaw

使用管理员权限运行初始化向导:

bash 复制代码
sudo docker compose run --rm --no-deps \
  --entrypoint node \
  openclaw-gateway \
  dist/index.js onboard \
  --mode local \
  --no-install-daemon

自定义 OpenAI 兼容模型的填写示例:

text 复制代码
Model/auth provider: More... → Custom Provider
Endpoint ID: 9route
API Base URL: http://模型服务IP:端口/v1
Endpoint compatibility: OpenAI-compatible
API type: openai-completions
Model ID: text
Model alias: 9route-text(可选)

首次部署时,Hooks 可以选择 Skip for now。选择 Hatch in Terminal 后发送一条测试消息,确认模型可以正常响应,再使用 /exit 退出。

5. 启动并检查

bash 复制代码
sudo docker compose up -d openclaw-gateway
sudo docker compose ps

正常状态应显示:

text 复制代码
Up (...) (healthy)

健康检查:

bash 复制代码
curl http://127.0.0.1:18789/healthz

6. Windows 11 本地端口映射

OpenClaw 控制面板需要 HTTPS 或浏览器的 localhost 安全上下文。家庭可信局域网中,可以让 Windows 将本机端口转发到 NAS。

以管理员身份打开 PowerShell:

powershell 复制代码
Set-Service iphlpsvc -StartupType Automatic
Start-Service iphlpsvc

netsh interface portproxy add v4tov4 `
  listenaddress=127.0.0.1 `
  listenport=18789 `
  connectaddress=NAS局域网IP `
  connectport=18789

查看并测试:

powershell 复制代码
netsh interface portproxy show all
Test-NetConnection 127.0.0.1 -Port 18789

浏览器打开:

text 复制代码
http://127.0.0.1:18789

仪表盘连接参数:

text 复制代码
WebSocket URL: ws://127.0.0.1:18789
网关令牌: .env 中的实际 OPENCLAW_GATEWAY_TOKEN
密码: 留空

不再需要映射时删除:

powershell 复制代码
netsh interface portproxy delete v4tov4 `
  listenaddress=127.0.0.1 `
  listenport=18789

7. 安全建议

  • 不要把 NAS 的 18789 端口映射到公网。
  • Windows 端口映射只解决浏览器安全上下文,电脑到 NAS 之间仍是普通 HTTP,仅适合可信局域网。
  • 远程访问建议使用 SSH 隧道、Tailscale Serve 或带有效证书的 HTTPS 反向代理。
  • 定期备份 /volume1/docker/openclaw/data、工作区和认证密钥目录。
  • 稳定运行后建议固定 OpenClaw 镜像版本,不长期追踪 latest
相关推荐
AC赳赳老秦8 小时前
软著公开信息批量采集:OpenClaw 抓取软件著作权公开数据,分析企业技术布局方向
大数据·网络·人工智能·python·php·deepseek·openclaw
wangxin2089 小时前
CoordClaw 底层机制解构:多智能体协作的工程原理
人工智能·ai·多智能体·组织管理·openclaw·coordclaw·ai数字社会
七夜zippoe4 天前
OpenClaw 在电商行业:智能导购助手实战(多轮对话+知识库+融合推荐+A/B 优化)
知识库·电商·多轮对话·openclaw·智能导购·融合推荐
feiniao86516 天前
openclaw配置代理时如何绕过飞书地址
proxy·openclaw
love530love7 天前
OpenClaw Windows Companion 桌面客户端 连接 LM Studio 完整配置指南
人工智能·windows·python·openclaw
AC赳赳老秦7 天前
企业工商公开信息采集分析:OpenClaw 批量查询企业工商信息,生成企业画像报告
大数据·开发语言·python·自动化·php·deepseek·openclaw
AC赳赳老秦7 天前
司法公开数据采集应用:OpenClaw 抓取裁判文书公开信息,批量整理同类参考案例
java·大数据·python·数据挖掘·数据分析·php·openclaw
寒水馨8 天前
macOS下载、安装openclaw-v2026.7.1(附安装包OpenClaw-2026.7.1.dmg)
macos·大模型·github·开源软件·ai助手·openclaw·gpt-5.6
AC赳赳老秦8 天前
招投标公开数据自动化采集实战:基于 OpenClaw 的定时抓取与业务关键词精准推送
运维·服务器·数据库·自动化·测试用例·deepseek·openclaw