在折腾 NAS 的过程中,我一直在寻找一套能够真正实现“自动化+效率提升”的工具,直到接触到 OpenClaw,才发现很多原本需要手动完成的操作,其实都可以被彻底解放。但问题是:网上几乎没有一套完整、可落地的 NAS 部署教程,要么步骤缺失,要么关键配置一笔带过,新手很容易卡在中途。

这篇文章,我会从 0 到 1 手把手带你完成 OpenClaw 在 NAS 上的完整部署,包括环境准备、Docker 配置、网络访问、以及 Telegram 对接等关键步骤。同时,我也会把自己在实际部署过程中踩过的坑全部整理出来,比如镜像拉取失败、权限问题、端口无法访问、机器人无响应等常见问题,并给出可直接复现的解决方案。
如果你符合以下情况,这篇文章会对你非常有帮助:
- 第一次在 NAS 上部署 OpenClaw,不知道从哪里开始
- 已经部署成功,但部分功能(如 Telegram)无法正常使用
- 经常遇到各种报错,但不知道问题出在哪里
- 希望搭建一套可以长期稳定运行的自动化系统
相比零散教程,这篇内容更偏向“实战复盘”,不仅告诉你怎么做,更重要的是让你知道为什么会出问题,以及如何避免。
接下来,我们正式开始,从最基础的环境准备讲起。
部署步骤:
1、在Nas里安装Docker管理器
套件中心→Container Manager

2、下载安装OpenClaw 安装包
在镜像仓库里面搜索关键词:openclaw,然后下载镜像,推荐选择 1panel openclaw

注意:如果你在中国大陆,建议通过国内加速镜像进行下载,否则下载速度会很慢!设置步骤:左侧的镜像仓库 – 设置 – 新增: 镜像仓库名称:随便自定义 , 加速的镜像仓库URL填:https://docker.1ms.run

3、安装并运行OpenClaw 容器
在映像里选择刚才下载好的1panel/openclaw 镜像,鼠标右键点击运行

配置容器

这一步要做18789的端口映射,及容器空间设置,如下图所示:

网络由bridge改成host,否则后续无法在其它或外网访问Nas里的Openclaw

使用高权限执行容器,并在执行命令后面填写下方的代码:
openclaw gateway --allow-unconfigured

接着点击完成来创建Openclaw 的容器

4、在Nas里开启SSH远程访问权限
在控制面板找到:终端机和SNMP

进入以后,勾选里面的启用 SSH 功能,这样我们才能通过SSH客户端连接到Nas里面

5、下载安装SSH远程终端连接器
你可以下载这款完全免费的 WindTerm ,来进行连接使用
【点击下载】
连接地址:nas群晖的 ip地址 ,比如我是:192.168.1.113
端口:22
用户名:nas 登入账号
密码:nas 登入密码

登入进去以后,通过命令sudo -i 来提升到管理员权限,输入命令:docker ps 来查看当前所安装的Openclaw容器

6、进入Openclaw 容器进行配置
输入命令:
sudo docker exec -it openclaw bash
来进入到openclaw的容器,注意:如果你之前自定义的容器名称不是openclaw,那么上方的命令你需要将openclaw改成你自定义的容器名称
进入容器以后再执行命令:
openclaw onboard
来进行后续的配置即可

如果你选择对接Telegram的机器人,那么需要打开 @BotFather 进行创建机器人并配对

7、在其它电脑/外网上访问 Openclaw
在openclaw 容器里执行命令:
openclaw config
将Gateway 模型由 bind mode改为LAN模式,如下:

修改以后,Openclaw的面板地址就会由原来的127.0.0.1 变成我们的nas的访问地址,比如我是:192.168.1.113,这一步非常关键!,它决定了你在nas里部署的Openclaw能不能在其它电脑或外网上访问控制面板。

当然第一次访问的时候它会显示这个错误信息:
origin not allowed (open the ControlUIfrom the gateway host or allow it in gateway.controlUi.allowedOrigins) openclaw

这主要是跨域导致的问权限题,现在我们可以在容器里,一键执行下方的命令来解决这个错误:
docker exec openclaw node openclaw.mjs config set gateway.controlUi.allowedOrigins '["http://192.168.1.113:18789","http://localhost:18789"]'
注意:要将上方命令里的 ip 替换成你自己的 nas 的 ip 地址
执行命令以后稍等一会,它会自动重启容器,但是重启以后访问它会出现这个错误,就是要求我们通过HTTPS协议进行访问后台,错误信息如下:
control ui requires device identity (use HTTPS or localhost secure context)

这个错误不用慌,我们可以通过下方的命令来解除这个限制:
docker exec openclaw node openclaw.mjs config set gateway.controlUi.dangerouslyDisableDeviceAuth true
执行重启容器以后,稍等一会就可以正常访问Openclaw的后台了













