系统要求
1 硬件要求
- CPU:4核或以上(支持AVX指令集)
- 内存:16GB或以上
- 存储:100GB可用空间(用于模型和数据)
2 软件要求
- Docker Engine 20.10+
- Docker Compose 2.0+
- NVIDIA Container Toolkit(GPU版本需要)
- 支持的操作系统:Ubuntu 20.04/22.04, CentOS 8+, Debian 11+
快速开始
1 克隆项目
git clone https://github.com/openclaw/ai-crayfish.git cd ai-crayfish/deployment
2 环境配置
# 复制环境配置文件 cp .env.example .env # 编辑配置文件 vim .env
3 启动服务
# 启动所有服务 docker-compose up -d # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f
配置文件说明
1 .env 文件配置
# 基本配置 APP_NAME=OPENCLAW APP_ENV=production APP_DEBUG=false APP_URL=http://localhost:8080 # 数据库配置 DB_HOST=postgres DB_PORT=5432 DB_DATABASE=openclaw DB_USERNAME=openclaw DB_PASSWORD=your_secure_password # Redis配置 REDIS_HOST=redis REDIS_PORT=6379 REDIS_PASSWORD= # 存储配置 STORAGE_PATH=/data/storage MODEL_PATH=/data/models # GPU配置(可选) GPU_ENABLED=true NVIDIA_VISIBLE_DEVICES=all
2 docker-compose.yml 结构
version: '3.8'
services:
# 主应用服务
api:
image: openclaw/api:latest
environment:
- APP_ENV=${APP_ENV}
volumes:
- ./data:/data
ports:
- "8080:8080"
depends_on:
- postgres
- redis
# PostgreSQL数据库
postgres:
image: postgres:15-alpine
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
# Redis缓存
redis:
image: redis:7-alpine
volumes:
- redis_data:/data
# Web界面
web:
image: openclaw/web:latest
ports:
- "80:80"
# 任务队列
worker:
image: openclaw/worker:latest
deploy:
replicas: 2
volumes:
postgres_data:
redis_data:
model_data:
生产环境部署
1 使用Docker Swarm(推荐)
# 初始化Swarm集群 docker swarm init # 部署服务栈 docker stack deploy -c docker-compose.prod.yml openclaw # 查看服务状态 docker service ls
2 Kubernetes部署
# 应用Kubernetes配置 kubectl apply -f k8s/ # 查看Pod状态 kubectl get pods -n openclaw # 查看服务 kubectl get svc -n openclaw
GPU支持配置
1 安装NVIDIA Container Toolkit
# Ubuntu/Debian distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker
2 GPU版本Compose配置
services:
inference:
image: openclaw/inference:gpu-latest
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
runtime: nvidia
数据持久化
1 创建数据卷
# 创建数据目录
mkdir -p /opt/openclaw/data/{models,storage,logs}
# 设置权限
chmod -R 755 /opt/openclaw/data
2 Docker卷挂载
volumes: - /opt/openclaw/data/models:/data/models:rw - /opt/openclaw/data/storage:/data/storage:rw - /opt/openclaw/data/logs:/var/log/openclaw:rw
监控和日志
1 添加监控服务
services:
prometheus:
image: prom/prometheus:latest
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
grafana:
image: grafana/grafana:latest
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
ports:
- "3000:3000"
2 日志收集
services:
api:
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
安全和网络
1 网络配置
networks:
frontend:
driver: bridge
ipam:
config:
- subnet: 172.20.0.0/16
backend:
driver: bridge
internal: true
2 安全配置
# 创建Docker安全配置文件
mkdir -p /etc/docker
cat > /etc/docker/daemon.json << EOF
{
"userns-remap": "default",
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
备份和恢复
1 数据库备份脚本
#!/bin/bash # backup.sh BACKUP_DIR="/opt/openclaw/backup" DATE=$(date +%Y%m%d_%H%M%S) docker exec openclaw_postgres_1 pg_dump -U openclaw openclaw > \ $BACKUP_DIR/openclaw_$DATE.sql # 保留最近7天的备份 find $BACKUP_DIR -name "*.sql" -mtime +7 -delete
2 模型数据备份
# 使用rsync同步模型数据 rsync -avz /opt/openclaw/data/models/ backup-server:/backup/openclaw/models/
故障排除
1 常见问题
问题1:容器启动失败
# 查看详细日志 docker-compose logs --tail=50 api # 进入容器调试 docker-compose exec api sh
问题2:GPU不可用
# 检查GPU驱动 nvidia-smi # 检查容器运行时 docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
问题3:内存不足
# 调整容器资源限制
services:
inference:
deploy:
resources:
limits:
memory: 8G
reservations:
memory: 4G
2 健康检查
services:
api:
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
性能优化
1 调整Swarm参数
# 提高Swarm日志级别 docker swarm update --task-history-limit 50 # 调整服务更新策略 docker service update \ --update-parallelism 2 \ --update-delay 10s \ --update-failure-action rollback \ openclaw_api
2 容器资源优化
services:
inference:
deploy:
resources:
limits:
cpus: '2.0'
memory: 8G
reservations:
cpus: '1.0'
memory: 4G
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
扩展部署
1 多节点部署
# 添加工作节点 docker swarm join-token worker # 标签管理节点 docker node update --label-add role=manager node1 docker node update --label-add gpu=true node2
2 服务扩展
# 横向扩展API服务 docker service scale openclaw_api=3 # 指定节点部署 docker service update \ --constraint-add 'node.labels.gpu == true' \ openclaw_inference
附录
A. 常用命令速查
# 构建镜像 docker-compose build # 启动服务 docker-compose up -d # 停止服务 docker-compose down # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f [service_name] # 进入容器 docker-compose exec [service_name] sh # 更新服务 docker-compose pull && docker-compose up -d # 清理未使用的资源 docker system prune -a
B. 配置文件模板
完整配置文件模板请参考项目中的 deployment/templates/ 目录。

C. 联系支持
- 文档:https://docs.openclaw.ai
- GitHub:https://github.com/openclaw/ai-crayfish/issues
- 邮箱:support@openclaw.ai
注意:在生产环境部署前,请务必:
- 修改所有默认密码
- 配置合适的防火墙规则
- 启用HTTPS证书
- 定期更新镜像和安全补丁
- 建立监控告警机制
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。