前言
群晖 NAS 是许多家庭和小型企业的数据中心,利用其 Docker 功能部署 OpenClaw,可以实现 7x24 小时在线的 AI 助手服务。本文将详细介绍如何通过群晖的 Container Manager(旧版叫 Docker 套件)部署 OpenClaw。
前提条件
| 要求 | 说明 |
|---|---|
| NAS 型号 | 支持 Docker 的 x86 架构群晖(如 DS220+、DS920+、DS1621+ 等) |
| DSM 版本 | DSM 7.2 或更高版本 |
| 内存 | 至少 4GB(推荐 8GB+) |
| 存储空间 | 至少 2GB 可用空间 |
| 套件 | 已安装 Container Manager |
注意:ARM 架构的入门级群晖(如 DS120j、DS220j)不支持 Docker,无法使用本教程的方法。
第一步:安装 Container Manager
如果你还没有安装 Container Manager 套件:
- 打开 DSM,进入"套件中心"
- 搜索 "Container Manager"
- 点击"安装"
- 等待安装完成
第二步:下载 OpenClaw 镜像
方法一:通过 Container Manager 界面
- 打开 Container Manager
- 点击左侧的"注册表"(Registry)
- 在搜索框输入
openclaw/openclaw - 选择官方镜像,点击"下载"
- 标签选择
latest,确认下载
方法二:通过 SSH 命令行
先在 DSM 中启用 SSH:控制面板 > 终端机和 SNMP > 启用 SSH 功能。
# SSH 连接到群晖
ssh admin@你的NAS地址
# 使用 sudo 权限拉取镜像
sudo docker pull openclaw/openclaw:latest
第三步:准备配置目录
在群晖上创建用于存放 OpenClaw 配置和数据的目录。
通过 File Station
- 打开 File Station
- 进入
docker共享文件夹(如没有,先在存储管理器中创建) - 创建文件夹
openclaw - 在
openclaw下创建两个子文件夹:config和data
最终目录结构:
/docker/openclaw/
├── config/
└── data/
通过 SSH
sudo mkdir -p /volume1/docker/openclaw/config
sudo mkdir -p /volume1/docker/openclaw/data
sudo chown -R 1000:1000 /volume1/docker/openclaw
第四步:创建配置文件
在 config 目录中创建 openclaw.json5 配置文件。你可以通过 File Station 上传,或通过 SSH 创建:
cat > /volume1/docker/openclaw/config/openclaw.json5 << 'EOF'
{
// OpenClaw 配置文件
// 详细配置说明请参考配置文件指南
gateway: {
port: 18789,
host: "0.0.0.0",
},
models: {
default: "claude",
providers: {
claude: {
apiKey: "sk-ant-your-api-key-here",
model: "claude-sonnet-4-20250514",
},
},
},
channels: {
// 根据需要配置通讯频道
},
logging: {
level: "info",
file: "/app/data/openclaw.log",
},
}
EOF
请将 sk-ant-your-api-key-here 替换为你的实际 API 密钥。
第五步:创建容器
方法一:通过 Container Manager 界面
- 打开 Container Manager,点击"容器" > "创建"
- 选择
openclaw/openclaw:latest镜像 - 设置容器名称为
openclaw - 勾选"启用自动重新启动"
端口设置:
| 本地端口 | 容器端口 | 协议 |
|---|---|---|
| 18789 | 18789 | TCP |
存储空间设置(卷映射):
| 本地路径 | 容器路径 | 权限 |
|---|---|---|
| /volume1/docker/openclaw/config | /app/config | 读写 |
| /volume1/docker/openclaw/data | /app/data | 读写 |
环境变量:
| 变量名 | 值 |
|---|---|
| OPENCLAW_CONFIG | /app/config/openclaw.json5 |
| TZ | Asia/Shanghai |
| NODE_ENV | production |
- 点击"下一步",确认设置后点击"完成"
方法二:通过 docker-compose(推荐)
在 /volume1/docker/openclaw/ 目录下创建 docker-compose.yml:
version: "3.8"
services:
openclaw:
image: openclaw/openclaw:latest
container_name: openclaw
restart: always
ports:
- "18789:18789"
volumes:
- ./config:/app/config
- ./data:/app/data
environment:
- OPENCLAW_CONFIG=/app/config/openclaw.json5
- TZ=Asia/Shanghai
- NODE_ENV=production
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:18789/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
通过 SSH 启动:
cd /volume1/docker/openclaw
sudo docker-compose up -d
第六步:验证部署
检查容器状态
在 Container Manager 中查看容器是否正常运行(绿色状态),或通过命令行:
sudo docker ps | grep openclaw
查看日志
sudo docker logs -f openclaw
你应该看到类似以下输出:
[OpenClaw] Gateway started on port 18789
[OpenClaw] Model provider: Claude (claude-sonnet-4-20250514)
[OpenClaw] Channels: ready
访问 Dashboard
在浏览器中打开:
http://你的NAS地址:18789/dashboard
第七步:配置群晖防火墙
如果群晖开启了防火墙,需要放行 18789 端口:
- 打开 DSM 控制面板
- 进入"安全性" > "防火墙"
- 点击"编辑规则"
- 创建新规则:
- 端口:自定义,填入
18789 - 协议:TCP
- 操作:允许
- 端口:自定义,填入
- 保存并应用
第八步:配置反向代理(可选)
群晖自带反向代理功能,可以通过域名访问 OpenClaw。
- 打开 DSM 控制面板
- 进入"登录门户" > "高级" > "反向代理服务器"
- 新建规则:
- 描述:OpenClaw
- 来源协议:HTTPS
- 来源主机名:openclaw.yourdomain.com
- 来源端口:443
- 目的地协议:HTTP
- 目的地主机名:localhost
- 目的地端口:18789
配合群晖的 DDNS 和 Let's Encrypt 证书,可以实现外网安全访问。
自动重启策略
Container Manager 中设置
在容器设置中启用"启用自动重新启动"即可。这样在 NAS 重启后,容器会自动启动。
健康检查
如果使用了 docker-compose 中的 healthcheck 配置,Docker 会定期检查 OpenClaw 的健康状态。当检测到不健康时,会自动重启容器。
查看健康状态:
sudo docker inspect --format='{% raw %}{{.State.Health.Status}}{% endraw %}' openclaw
数据备份
利用群晖的 Hyper Backup 备份 OpenClaw 的配置和数据:
- 打开 Hyper Backup
- 创建新的备份任务
- 选择备份目标
- 在文件夹选择中勾选
/docker/openclaw/ - 设置定时备份计划(建议每天备份)
手动备份也很简单:
# 创建备份
sudo tar -czf /volume1/backups/openclaw-backup-$(date +%Y%m%d).tar.gz \
/volume1/docker/openclaw/config \
/volume1/docker/openclaw/data
常见问题
| 问题 | 解决方法 |
|---|---|
| 容器无法启动 | 检查端口是否被占用:sudo netstat -tlnp | grep 18789 |
| 配置文件未生效 | 确认卷映射路径正确,文件权限为可读 |
| 外网无法访问 | 检查路由器端口转发和群晖防火墙设置 |
| 镜像拉取失败 | 尝试配置 Docker 镜像加速器 |
| 容器内存不足 | 在容器设置中调大内存限制 |
配置 Docker 镜像加速
如果拉取镜像速度慢,可以配置镜像加速器。通过 SSH 编辑 Docker 配置:
sudo tee /etc/docker/daemon.json > /dev/null << 'EOF'
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
]
}
EOF
sudo systemctl restart docker
总结
通过群晖 NAS 的 Docker 功能部署 OpenClaw,你可以获得稳定、低功耗、24 小时在线的 AI 助手服务。群晖自带的存储管理、备份和反向代理功能,使得运维工作变得异常简单。建议搭配 Hyper Backup 定期备份配置数据,确保数据安全。