# OpenClaw部署指南
## 1. 环境准备
### 1.1 系统要求
– **操作系统**: Ubuntu 20.04 LTS 或更高版本
– **内存**: 至少 8GB RAM
– **存储**: 至少 50GB 可用空间
– **处理器**: 4核或更高
### 1.2 依赖项安装
“`bash
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装必要依赖
sudo apt install -y git python3-pip python3-venv docker.io docker-compose
# 启动并启用Docker
sudo systemctl start docker
sudo systemctl enable docker
# 添加用户到docker组
sudo usermod -aG docker $USER
“`
## 2. 安装OpenClaw
### 2.1 克隆仓库
“`bash
git clone https://github.com/openclaw/openclaw.git
cd openclaw
“`
### 2.2 配置环境变量
创建 `.env` 文件并配置以下内容:
“`env
# 基本配置
OPENCLAW_HOST=localhost
OPENCLAW_PORT=8000
# 数据库配置
DATABASE_URL=postgresql://admin:password@localhost:5432/example_db
# API配置
OPENAI_API_KEY=your_openai_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key
# 安全配置
SECRET_KEY=your_secret_key
“`
### 2.3 启动服务
使用Docker Compose启动服务:
“`bash
docker-compose up -d
“`
## 3. 验证部署
### 3.1 检查服务状态
“`bash
docker-compose ps
“`
### 3.2 访问Web界面
打开浏览器访问:`http://localhost:8000`
### 3.3 测试API
“`bash
curl -X GET http://localhost:8000/api/health
“`
## 4. 部署模式
### 4.1 开发模式
“`bash
# 启动开发模式
docker-compose -f docker-compose.dev.yml up
“`
### 4.2 生产模式
“`bash
# 启动生产模式
docker-compose -f docker-compose.prod.yml up -d
“`
## 5. 常见问题排查
### 5.1 端口冲突
如果端口8000已被占用,可以修改 `.env` 文件中的 `OPENCLAW_PORT` 配置。
### 5.2 数据库连接失败
确保PostgreSQL服务正常运行,并且数据库凭据正确。
### 5.3 API密钥错误
检查 `.env` 文件中的API密钥配置是否正确。
## 6. 部署最佳实践
– **使用HTTPS**: 在生产环境中配置SSL证书
– **定期备份**: 定期备份数据库和配置文件
– **监控**: 配置监控系统,及时发现问题
– **更新**: 定期更新OpenClaw到最新版本
## 7. 扩展部署
### 7.1 水平扩展
可以通过增加容器实例来实现水平扩展:
“`bash
docker-compose up -d –scale app=3
“`
### 7.2 负载均衡
使用Nginx作为负载均衡器:
“`nginx
upstream openclaw {
server openclaw-app-1:8000;
server openclaw-app-2:8000;
server openclaw-app-3:8000;
}
server {
listen 80;
server_name openclaw.example.com;
location / {
proxy_pass http://openclaw;
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;
}
}
“`
## 8. 部署后配置
### 8.1 初始化管理员账户
“`bash
docker exec -it openclaw-app python manage.py createsuperuser
“`
### 8.2 配置邮件服务
在 `.env` 文件中添加邮件配置:
“`env
# 邮件配置
EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USE_TLS=True
EMAIL_HOST_USER=your_email@gmail.com
EMAIL_HOST_PASSWORD=your_email_password
“`
## 9. 自动化部署
### 9.1 使用CI/CD
配置GitHub Actions工作流:
“`yaml
name: Deploy OpenClaw
on:
push:
branches:
– main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
– uses: actions/checkout@v3
– name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
– name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
– name: Build and push
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: openclaw/openclaw:latest
– name: Deploy to server
uses: appleboy/ssh-action@v0.1.7
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USER }}
key: ${{ secrets.SERVER_KEY }}
script: |
cd /opt/openclaw
docker-compose pull
docker-compose up -d
“`
### 9.2 使用Ansible
创建Ansible playbook:
“`yaml
—
– name: Deploy OpenClaw
hosts: openclaw_servers
become: yes
tasks:
– name: Clone OpenClaw repository
git:
repo: https://github.com/openclaw/openclaw.git
dest: /opt/openclaw
version: main
– name: Create .env file
template:
src: templates/env.j2
dest: /opt/openclaw/.env
– name: Start OpenClaw services
docker_compose:
project_src: /opt/openclaw
state: present
pull: yes
“`
## 10. 监控与维护
### 10.1 日志管理
“`bash
# 查看容器日志
docker-compose logs -f
# 查看特定容器日志
docker-compose logs -f app
“`
### 10.2 性能监控
使用Prometheus和Grafana监控系统性能:
“`bash
# 启动监控服务
docker-compose -f docker-compose.monitoring.yml up -d
“`
### 10.3 定期维护
– 每周更新系统和依赖
– 每月备份数据库
– 每季度进行安全审计
—
通过以上步骤,您可以成功部署和运行OpenClaw系统。如果遇到任何问题,请参考官方文档或社区支持。