首页 教程 分类 Skills下载 关于
ZH EN JA KO
安装部署

群晖NAS部署OpenClaw教程

· 11 分钟

前言

群晖 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 套件:

  1. 打开 DSM,进入"套件中心"
  2. 搜索 "Container Manager"
  3. 点击"安装"
  4. 等待安装完成

第二步:下载 OpenClaw 镜像

方法一:通过 Container Manager 界面

  1. 打开 Container Manager
  2. 点击左侧的"注册表"(Registry)
  3. 在搜索框输入 openclaw/openclaw
  4. 选择官方镜像,点击"下载"
  5. 标签选择 latest,确认下载

方法二:通过 SSH 命令行

先在 DSM 中启用 SSH:控制面板 > 终端机和 SNMP > 启用 SSH 功能。

# SSH 连接到群晖
ssh admin@你的NAS地址

# 使用 sudo 权限拉取镜像
sudo docker pull openclaw/openclaw:latest

第三步:准备配置目录

在群晖上创建用于存放 OpenClaw 配置和数据的目录。

通过 File Station

  1. 打开 File Station
  2. 进入 docker 共享文件夹(如没有,先在存储管理器中创建)
  3. 创建文件夹 openclaw
  4. openclaw 下创建两个子文件夹:configdata

最终目录结构:

/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 界面

  1. 打开 Container Manager,点击"容器" > "创建"
  2. 选择 openclaw/openclaw:latest 镜像
  3. 设置容器名称为 openclaw
  4. 勾选"启用自动重新启动"

端口设置

本地端口 容器端口 协议
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
  1. 点击"下一步",确认设置后点击"完成"

方法二:通过 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 端口:

  1. 打开 DSM 控制面板
  2. 进入"安全性" > "防火墙"
  3. 点击"编辑规则"
  4. 创建新规则:
    • 端口:自定义,填入 18789
    • 协议:TCP
    • 操作:允许
  5. 保存并应用

第八步:配置反向代理(可选)

群晖自带反向代理功能,可以通过域名访问 OpenClaw。

  1. 打开 DSM 控制面板
  2. 进入"登录门户" > "高级" > "反向代理服务器"
  3. 新建规则:
    • 描述: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 的配置和数据:

  1. 打开 Hyper Backup
  2. 创建新的备份任务
  3. 选择备份目标
  4. 在文件夹选择中勾选 /docker/openclaw/
  5. 设置定时备份计划(建议每天备份)

手动备份也很简单:

# 创建备份
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 定期备份配置数据,确保数据安全。

OpenClaw 是开源免费的个人AI助手,支持 WhatsApp、Telegram、Discord 等多平台接入