部署指南
ACE = AI Computing Explorer
本指南涵盖 Open ACE 在各种场景下的部署方法。
目录
快速开始
本地部署
# 安装依赖
pip install -r requirements.txt
# 初始化配置
python3 cli.py config init
# 运行数据库迁移
alembic upgrade head
# 启动 Web 服务器
python3 server.py
# 访问 http://localhost:5000
Docker 部署
前提条件
- 已安装 Docker 和 Docker Compose
- Open ACE Docker 镜像(
open-ace:latest) - PostgreSQL 镜像(
postgres:15-alpine)
初始部署
# 1. 导出 Docker 镜像(在开发机上)
./scripts/export-image.sh --compress
# 2. 复制到服务器
scp dist/open-ace-images.tar.gz user@server:~
scp scripts/deploy.sh user@server:~
# 3. 运行部署脚本
chmod +x deploy.sh
sudo ./deploy.sh
# 4. 按照交互提示操作
部署配置
部署脚本将提示以下配置:
| 设置 | 说明 | 默认值 |
|---|---|---|
| 运行用户 | 运行应用的用户 | open-ace |
| 部署目录 | 安装目录 | /home/open-ace/open-ace |
| Web 端口 | Web 服务器端口 | 5000 |
| 主机名 | 服务器主机名 | 自动检测 |
| 数据库用户 | PostgreSQL 用户名 | open-ace |
| 数据库名称 | PostgreSQL 数据库名 | ace |
| OpenClaw | 启用 OpenClaw 工具 | yes |
| Claude | 启用 Claude 工具 | yes |
| Qwen | 启用 Qwen 工具 | yes |
| 工作区 | 启用工作区 | no |
注意:工作区在单独的容器中运行。启用后,Open ACE 将连接到指定 URL 的工作区服务。请确保工作区容器正在运行且端口可访问。
URL 配置:如果在工作区或 OpenClaw URL 中输入 localhost,部署脚本会自动将其转换为服务器 IP 地址。这是因为:
- URL 由前端(浏览器)使用,而非容器
- 浏览器无法将
localhost解析为服务器地址 - 示例:
http://localhost:3000→http://192.168.1.100:3000
默认凭证
部署完成后,使用以下凭证登录:
用户名: admin
密码: admin123
重要:首次登录后请立即修改默认密码!
目录结构
/home/open-ace/open-ace/
├── config/ # 配置文件
│ └── config.json # 主配置文件
├── docker-compose.yml # Docker Compose 配置
└── .env # 环境变量(敏感信息!)
注意:数据存储在 PostgreSQL 容器的卷(postgres-data)中,而非主机文件系统。
管理命令
cd /home/open-ace/open-ace
# 查看状态
docker compose ps
# 查看日志
docker compose logs -f
# 仅查看 open-ace 日志
docker compose logs -f open-ace
# 重启服务
docker compose restart
# 仅重启 open-ace
docker compose restart open-ace
# 停止服务
docker compose down
# 启动服务
docker compose up -d
更新 Open ACE 镜像
发布新版本时,只需更新 Docker 镜像:
方法一:简单重启(推荐)
cd /home/open-ace/open-ace
# 1. 加载新镜像
gunzip -c open-ace-images.tar.gz | docker load
# 2. 重启 open-ace 容器
docker compose up -d open-ace
# 3. 验证启动
docker compose logs -f open-ace
方法二:完整重建
cd /home/open-ace/open-ace
# 1. 加载新镜像
gunzip -c open-ace-images.tar.gz | docker load
# 2. 停止并删除旧容器
docker compose stop open-ace
docker compose rm -f open-ace
# 3. 启动新容器
docker compose up -d open-ace
# 4. 验证启动
docker compose logs -f open-ace
方法三:使用版本标签
# 1. 加载特定版本
docker load -i open-ace-v1.2.0.tar
# 2. 更新 docker-compose.yml
sed -i 's|image: open-ace:latest|image: open-ace:v1.2.0|' docker-compose.yml
# 3. 重建容器
docker compose up -d open-ace
注意:
- 数据存储在
./data目录和 PostgreSQL 卷中,不会丢失 ./config中的配置会被保留- PostgreSQL 容器继续运行,只更新 open-ace 容器
数据库迁移
如果新版本包含数据库模式变更:
cd /home/open-ace/open-ace
# 运行迁移
docker compose run --rm open-ace alembic upgrade head
# 重启应用
docker compose restart open-ace
卸载
cd /home/open-ace/open-ace
# 交互式卸载(保留数据)
./uninstall.sh
# 完全卸载(删除所有内容)
./uninstall.sh --purge
配置
配置文件
配置存储在 ~/.open-ace/config.json:
{
"host_name": "my-machine",
"tools": {
"claude": {
"enabled": true,
"log_path": "~/.claude/projects"
},
"qwen": {
"enabled": true,
"log_path": "~/.qwen/projects"
},
"openclaw": {
"enabled": true,
"log_path": "~/.openclaw/agents"
}
},
"email": {
"smtp_host": "smtp.example.com",
"smtp_port": 587,
"sender": "noreply@example.com"
}
}
环境变量
| 变量 | 说明 |
|---|---|
OPENCLAW_TOKEN | OpenClaw API token |
SMTP_PASSWORD | 邮件 SMTP 密码 |