1. 引言
OpenClaw 是一个开源的 AI 代理运行时,能够帮助开发者构建、部署和管理自主 AI 代理。而 Hetzner 作为欧洲知名的云服务商,以高性价比的裸金属服务器和云主机闻名。将 OpenClaw 部署在 Hetzner 上,既能享受强大的计算资源,又能控制成本。本文将从零开始,详细介绍如何在 Hetzner 云主机上部署、配置和运行 OpenClaw,并提供丰富的代码实例。
2. 准备工作
在开始之前,你需要准备以下内容:
- 一个 Hetzner Cloud 账号(注册地址:console.hetzner.cloud)
- 一个 SSH 密钥对(用于安全登录服务器)
- 基本的 Linux 命令行知识
- 一个域名(可选,用于配置 HTTPS)
2.1 创建 Hetzner 云主机
首先,登录 Hetzner Cloud 控制台,点击「Create Server」按钮。在创建过程中,建议选择以下配置:
- Location:选择离你用户最近的区域(如 Falkenstein、Nuremberg 或 Helsinki)
- Image:Ubuntu 22.04 LTS(稳定且社区支持完善)
- Type:CX22 或更高配置(根据你的负载需求)
- SSH Key:选择你已有的 SSH 公钥
创建完成后,记下服务器的公网 IP 地址。下面通过 SSH 登录服务器:
ssh root@YOUR_SERVER_IP3. 安装 Docker 和 Docker Compose
OpenClaw 官方推荐使用 Docker 进行部署,这样可以避免环境依赖问题。首先更新系统并安装必要的依赖:
apt update && apt upgrade -y apt install -y ca-certificates curl gnupg lsb-release接下来安装 Docker 官方源并安装 Docker Engine:
install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg chmod a+r /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" | tee /etc/apt/sources.list.d/docker.list > /dev/null apt update apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin验证 Docker 是否安装成功:
docker --version docker compose version4. 部署 OpenClaw
OpenClaw 提供了官方的 Docker 镜像,我们可以通过 Docker Compose 快速部署。首先创建一个项目目录:
mkdir -p /opt/openclaw && cd /opt/openclaw创建docker-compose.yml文件:
version: "3.8" services: openclaw: image: openclaw/openclaw:latest container_name: openclaw restart: unless-stopped ports: - "8080:8080" environment: - OPENCLAW_API_KEY=${OPENCLAW_API_KEY} - OPENCLAW_MODEL=${OPENCLAW_MODEL:-gpt-4o} - OPENCLAW_LOG_LEVEL=${OPENCLAW_LOG_LEVEL:-info} volumes: - ./data:/data - ./config:/config networks: - openclaw-net networks: openclaw-net: driver: bridge创建环境变量文件.env:
cat > .env << 'EOF' OPENCLAW_API_KEY=your_api_key_here OPENCLAW_MODEL=gpt-4o OPENCLAW_LOG_LEVEL=info EOF启动 OpenClaw 服务:
docker compose up -d查看服务日志,确认启动成功:
docker compose logs -f openclaw5. 配置 OpenClaw
OpenClaw 的配置文件位于config目录下。首次启动后,会生成默认配置文件。下面是一个典型的config.yaml示例:
server: host: 0.0.0.0 port: 8080 agent: name: "my-agent" model: "gpt-4o" temperature: 0.7 max_tokens: 2048 memory: type: "redis" config: host: "localhost" port: 6379 tools: enabled: - "web_search" - "code_interpreter" - "file_operations"修改配置后,需要重启服务使配置生效:
docker compose restart openclaw6. 使用 OpenClaw 的 API
OpenClaw 启动后,会暴露一个 RESTful API。下面通过 curl 测试 API 是否正常工作:
curl -X POST http://localhost:8080/api/v1/chat \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your_api_key_here" \ -d '{ "message": "你好,请介绍一下你自己", "session_id": "test-session" }'如果一切正常,你会收到类似下面的 JSON 响应:
{ "response": "你好!我是基于 OpenClaw 运行的 AI 代理,可以帮你完成各种自动化任务。", "session_id": "test-session", "timestamp": "2026-08-29T09:00:00Z" }7. 配置 Nginx 反向代理和 HTTPS
为了安全地对外提供服务,建议配置 Nginx 反向代理和 HTTPS 证书。首先安装 Nginx 和 Certbot:
apt install -y nginx certbot python3-certbot-nginx创建 Nginx 配置文件/etc/nginx/sites-available/openclaw:
server { listen 80; server_name openclaw.example.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }启用站点配置并测试:
ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/ nginx -t systemctl reload nginx使用 Certbot 自动申请并配置 HTTPS 证书:
certbot --nginx -d openclaw.example.com8. 监控与日志
生产环境中,监控和日志管理至关重要。OpenClaw 的日志默认输出到 Docker 容器标准输出,可以通过以下命令查看:
docker logs -f openclaw为了更高效地管理日志,可以配置 Docker 的日志轮转。编辑/etc/docker/daemon.json:
{ "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }重启 Docker 使配置生效:
systemctl restart docker docker compose up -d9. 备份与恢复
定期备份 OpenClaw 的数据目录是防止数据丢失的关键。下面是一个简单的备份脚本backup.sh:
#!/bin/bash BACKUP_DIR="/opt/backups" TIMESTAMP=$(date +%Y%m%d_%H%M%S) BACKUP_FILE="$BACKUP_DIR/openclaw_$TIMESTAMP.tar.gz" mkdir -p $BACKUP_DIR 备份数据目录 tar -czf $BACKUP_FILE -C /opt/openclaw data config 保留最近 7 天的备份 find $BACKUP_DIR -name "openclaw_*.tar.gz" -mtime +7 -delete echo "Backup completed: $BACKUP_FILE"赋予执行权限并添加到 crontab 中:
chmod +x backup.sh crontab -e在 crontab 中添加以下内容,每天凌晨 2 点执行备份:
0 2 * * * /opt/openclaw/backup.sh10. 常见问题排查
在部署过程中,可能会遇到一些常见问题。下面列出几个典型场景及解决方案:
10.1 端口被占用
如果 8080 端口被其他服务占用,可以修改docker-compose.yml中的端口映射:
ports: - "8081:8080"10.2 API 密钥无效
检查.env文件中的OPENCLAW_API_KEY是否正确设置,并确认环境变量已加载:
docker compose exec openclaw env | grep OPENCLAW10.3 容器无法启动
查看容器启动失败的详细日志:
docker compose logs openclaw如果日志显示权限问题,检查数据目录的权限设置:
chown -R 1000:1000 /opt/openclaw/data /opt/openclaw/config11. 总结
本文详细介绍了在 Hetzner 云主机上部署 OpenClaw 的完整流程,包括服务器准备、Docker 安装、服务部署、配置管理、反向代理、监控备份以及常见问题排查。通过 Docker 容器化部署,你可以快速搭建一个稳定、可扩展的 AI 代理运行环境。Hetzner 的高性价比硬件结合 OpenClaw 的强大能力,能够为你的自动化项目提供坚实的技术底座。
后续你可以根据实际业务需求,进一步探索 OpenClaw 的高级功能,如自定义工具集成、多代理协作、模型微调等。希望本文能帮助你顺利开启 OpenClaw 的部署之旅。