如果你有一台支持 Docker 的 NAS(比如群晖、威联通、绿联、极空间等),并希望部署 OpenClaw 来打造一个 7×24 小时在线的本地 AI 助手,这篇攻略就是为你准备的。完成部署后,你将能通过浏览器访问 Web 控制台,配置模型与频道(如 Telegram、飞书),让 OpenClaw 自动整理文件、抓取热点、生成周报,甚至执行自定义脚本——所有操作都在你的局域网内完成,数据不出家门。
01动手前,你需要准备这些
| 类别 | 具体要求 |
|---|---|
| 硬件要求 | CPU ≥ 4核、内存 ≥ 8GB、可用存储 ≥ 5GB(建议 SSD) |
| NAS 系统 | DSM 7.0+ / QTS 5.0+ / UGOS 4.0+ / fnOS 等支持 Docker 的系统 |
| 软件依赖 | Docker Engine 20.10+,或 NAS 自带的 Container Manager / Docker 套件 |
| 网络配置 | 确保 NAS 可访问互联网(用于拉取镜像和模型 API),并记录 NAS 的局域网 IP |
| 用户知识 | 了解基本 Docker 概念(容器、卷、端口映射)、会使用文本编辑器修改 YAML/JSON 文件、知道如何查看日志 |
部署 OpenClaw 到 NAS 所需的完整资源清单
02一步步把 OpenClaw 跑在 NAS 上
- 创建专用共享文件夹
在 NAS 上新建一个文件夹(如/volume1/openclaw),并在其下创建data和workspace子目录。这将用于持久化 OpenClaw 的配置与运行数据,避免容器重启后丢失。 - 配置 Docker 镜像源(可选但推荐)
由于国内网络限制,建议在 NAS 的 Docker 设置中添加镜像加速器(如docker.1ms.run或swr.cn-north-4.myhuaweicloud.com),否则拉取官方镜像可能失败或极慢。 - 创建 docker-compose.yml
在 NAS 上用文本编辑器创建该文件,内容参考如下关键配置:
ports: ["18789:18789"](映射 WebUI 端口)
volumes: ["/volume1/openclaw/data:/root/.openclaw", "/volume1/openclaw/workspace:/workspace"]
environment:
- OPENCLAW_GATEWAY_TOKEN=your_secure_token
- TZ=Asia/Shanghai
注意:不要使用 root 用户运行,可通过user: "1000:1000"指定非特权用户。 - 启动容器
通过 NAS 的 Container Manager 或 SSH 终端执行docker compose up -d。首次启动会自动初始化,完成后容器应处于“运行中”状态。 - 配置网关绑定与安全访问
进入容器命令行,编辑/root/.openclaw/openclaw.json,找到gateway.bind改为"0.0.0.0"(或"lan"),并添加:
"controlUi": { "enabled": true, "dangerouslyDisableDeviceAuth": true }
保存后重启容器。这一步是实现局域网访问的关键,但务必仅限内网使用。
03这些地方最容易出错——避坑指南
- 问题:WebUI 白屏或无法加载
原因:浏览器因安全策略(Secure Context)阻止了非 localhost 的加密上下文 API。
解决:不要直接用http://NAS_IP:18789访问。正确做法是建立 SSH 隧道:ssh -N -L 18789:127.0.0.1:18789 user@NAS_IP,然后在本地浏览器打开http://localhost:18789。 - 问题:容器启动失败,报 EACCES 权限错误
原因:挂载的宿主机目录权限不足,或容器内进程 UID 与宿主机不匹配。
解决:在docker-compose.yml中显式指定user: "0:0"(临时方案),或创建专用用户并确保挂载目录归属该用户(长期方案)。 - 问题:无法解析订阅链接或拉取模型
原因:DNS 污染或网络代理未配置。
解决:在 NAS 系统设置中配置可靠的 DNS(如 1.1.1.1 或 8.8.8.8),或在容器环境变量中设置代理(若使用)。 - 问题:局域网设备无法访问 NAS 上的服务
原因:OpenClaw 默认绑定 127.0.0.1,只接受本地回环请求。
解决:必须按步骤 5 修改bind为"0.0.0.0",并确认 NAS 防火墙已放行 18789 端口。
04怎么确认你已经成功了?
部署成功的标志有三个:
1. 在 NAS 的 Docker 管理界面中,OpenClaw 容器状态为“运行中”,且日志末尾无报错;
2. 通过 SSH 隧道访问
3. 执行健康检查命令
1. 在 NAS 的 Docker 管理界面中,OpenClaw 容器状态为“运行中”,且日志末尾无报错;
2. 通过 SSH 隧道访问
http://localhost:18789 后,能正常看到登录界面,并输入从 openclaw.json 中获取的 Token 成功进入控制台;3. 执行健康检查命令
curl http://localhost:18789/api/v1/health(在 NAS 本地或通过隧道)返回 {"status":"healthy"}。此时,你的专属 AI 助手已就位,可以开始配置模型和技能了。© 版权声明
版权申明: 本页内容所含的文字、图片和音视频均转载自网络,转载的目的在于分享传递更多知识信息,并不代表本站赞同文章的观点和对文章的真实性负责。如其他媒体、网站或个人转载使用,请与著作权人联系,并自负法律责任。做为非盈利性个人网站,站长没能力也没权力承担任何经济及法律责任。如若本站的文章侵犯了你的相关权益,请联系站长删除或修正。谢谢。敬礼
