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

在Hetzner云服务器用Docker部署OpenClaw

· 9 分钟

Hetzner简介

Hetzner是一家德国老牌云服务商,以极高的性价比著称。一台位于欧洲的CX22实例(2核4GB内存)每月仅需几欧元,非常适合部署OpenClaw这样的AI Agent网关。本文将详细介绍如何在Hetzner Cloud上使用Docker Compose部署OpenClaw。

创建Hetzner云服务器

登录Hetzner Cloud Console(console.hetzner.cloud),点击创建新项目或在已有项目中添加服务器。

选择服务器配置

  • 位置:根据你的用户分布选择,例如Falkenstein(德国)、Helsinki(芬兰)或Ashburn(美国)
  • 镜像:选择Ubuntu 24.04 LTS
  • 类型:推荐CX22(2 vCPU、4GB RAM)或更高配置
  • SSH密钥:添加你的公钥用于安全登录
  • 网络:启用IPv4和IPv6

创建完成后,记下服务器的公网IP地址。

连接服务器并安装Docker

通过SSH连接到你的新服务器:

ssh root@你的服务器IP

首先更新系统并安装Docker:

apt update && apt upgrade -y
apt install -y ca-certificates curl gnupg
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

验证Docker安装成功:

docker --version
docker compose version

创建项目目录

为OpenClaw创建专用目录:

mkdir -p /opt/openclaw
cd /opt/openclaw

编写Docker Compose配置

创建docker-compose.yml文件:

version: "3.8"

services:
  openclaw:
    image: node:22-slim
    container_name: openclaw-gateway
    restart: unless-stopped
    working_dir: /app
    volumes:
      - openclaw_config:/root/.openclaw
      - openclaw_app:/app
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
    command: >
      bash -c "
        npm install -g openclaw@latest &&
        openclaw start
      "
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
      interval: 30s
      timeout: 10s
      retries: 3

volumes:
  openclaw_config:
  openclaw_app:

这个配置文件定义了一个基于Node.js 22的容器,自动安装最新版OpenClaw并启动服务。我们使用命名卷openclaw_config来持久化OpenClaw的配置目录~/.openclaw,确保容器重启时不会丢失配置数据。

注意这里我们没有使用Bun运行时。虽然Bun在某些场景下更快,但在处理WhatsApp和Telegram的WebSocket连接时存在已知bug,因此OpenClaw官方推荐使用Node.js。

启动服务

运行以下命令启动OpenClaw:

docker compose up -d

查看容器日志确认启动状态:

docker compose logs -f openclaw

首次启动时,容器会先安装OpenClaw,这个过程可能需要1-2分钟。看到服务启动成功的日志后,按Ctrl+C退出日志查看。

初始化OpenClaw配置

进入运行中的容器执行初始化:

docker compose exec openclaw bash

在容器内运行引导程序:

openclaw onboard --install-daemon

按照交互式提示完成以下配置:

  1. 选择并配置AI模型提供商(如OpenAI、Anthropic等)
  2. 设置要连接的聊天平台(WhatsApp、Telegram、Discord等)
  3. 配置Webhook URL和相关凭证

完成后运行诊断命令检查一切是否正常:

openclaw doctor

退出容器:

exit

配置防火墙

Hetzner Cloud提供了内置防火墙功能。在Cloud Console中配置以下规则:

  • SSH:允许TCP 22端口入站
  • HTTP:允许TCP 80端口入站
  • HTTPS:允许TCP 443端口入站
  • OpenClaw Dashboard:允许TCP 3000端口入站(或者通过反向代理转发)

你也可以使用UFW在服务器上配置:

ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 3000/tcp
ufw enable

配置Nginx反向代理(推荐)

为了启用HTTPS和更好的安全性,建议配置Nginx反向代理:

apt install -y nginx certbot python3-certbot-nginx

创建Nginx配置文件/etc/nginx/sites-available/openclaw

server {
    server_name openclaw.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

启用配置并申请SSL证书:

ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d openclaw.yourdomain.com

自动更新OpenClaw

创建一个简单的更新脚本/opt/openclaw/update.sh

#!/bin/bash
cd /opt/openclaw
docker compose down
docker compose pull
docker compose up -d
docker compose exec -T openclaw npm install -g openclaw@latest
docker compose restart openclaw

添加到crontab实现定期自动更新:

chmod +x /opt/openclaw/update.sh
crontab -e
# 添加以下行,每周日凌晨3点自动更新
0 3 * * 0 /opt/openclaw/update.sh >> /var/log/openclaw-update.log 2>&1

备份策略

OpenClaw的关键数据存储在~/.openclaw/目录中。利用Hetzner的快照功能可以对整个服务器进行备份,也可以手动备份配置文件:

docker compose exec -T openclaw tar czf - /root/.openclaw > /opt/openclaw/backup-$(date +%Y%m%d).tar.gz

总结

Hetzner Cloud搭配Docker Compose是部署OpenClaw的高性价比方案。通过本文的配置,你可以获得一个稳定运行的OpenClaw AI Agent网关,连接各类聊天平台与AI模型。Hetzner在欧洲的数据中心对于服务欧洲用户特别有优势,同时其美国节点也能满足全球部署需求。

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