Coze 私有化部署实战:从服务器到上线的一键搭建指南
Coze 部署完整教程|一键部署
本文面向想要在服务器上自建 Coze / Coze Studio 的开发者、运维人员和 AI 应用搭建者,详细介绍从服务器准备、环境安装、项目拉取、环境变量配置、Docker 一键部署、域名反向代理、模型接入到常见问题排查的完整流程。
适合新手按步骤操作,也适合有经验的用户快速搭建私有化 AI Bot 开发平台。
一、Coze 是什么?
Coze 是一个面向 AI Bot、智能体和工作流应用的开发平台。通过 Coze,用户可以快速创建具备大语言模型能力的 AI 助手,并为其配置知识库、插件、工作流、数据库、变量、对话记忆等能力。
简单来说,Coze 可以帮助你完成以下事情:
- 搭建 AI 聊天机器人;
- 创建企业内部知识库问答系统;
- 编排多步骤 AI 工作流;
- 接入不同的大模型服务;
- 构建智能客服、运营助手、数据分析助手;
- 将 Bot 发布到网站、应用或其他平台中。
相比直接调用大模型 API,Coze 的优势在于它提供了更完整的应用层能力,例如可视化编排、Prompt 管理、插件管理、知识库管理和调试能力。
如果你希望在自己的服务器上部署一套类似 Coze 的 AI 应用开发平台,私有化部署是一个非常合适的选择。
二、部署前准备
在正式部署之前,需要准备一台服务器、一个可选的域名,以及必要的软件环境。
1. 服务器配置建议
测试环境可以使用较低配置,但如果用于团队或生产环境,建议配置稍高一些。
| 场景 | CPU | 内存 | 磁盘 | 系统 |
|---|---|---|---|---|
| 个人测试 | 2 核 | 4 GB | 40 GB | Ubuntu 22.04 |
| 小团队使用 | 4 核 | 8 GB | 80 GB | Ubuntu 22.04 |
| 生产环境 | 8 核以上 | 16 GB 以上 | 200 GB 以上 | Ubuntu 22.04 / Debian 12 |
如果需要本地部署大模型,还需要额外准备 GPU 服务器。
如果只是接入 OpenAI、DeepSeek、Moonshot、通义千问、智谱等云端模型 API,则普通 CPU 服务器即可。
2. 推荐系统环境
本文以 Ubuntu 22.04 LTS 为例。
你可以使用以下云服务器:
- 阿里云 ECS;
- 腾讯云 CVM;
- 华为云云服务器;
- AWS EC2;
- Azure VM;
- Google Cloud VM;
- 轻量应用服务器;
- 自建 Linux 服务器。
建议使用全新的服务器,避免旧环境中已安装的软件造成端口冲突或依赖冲突。
3. 需要开放的端口
根据你的部署方式,通常需要开放以下端口:
| 端口 | 用途 |
|---|---|
| 22 | SSH 登录 |
| 80 | HTTP 访问 |
| 443 | HTTPS 访问 |
| 8888 / 3000 / 8080 | Web 服务端口,具体以项目配置为准 |
如果你使用云服务器,需要到云厂商的安全组中放行端口。
例如:
- 放行
80; - 放行
443; - 如不使用反向代理,可临时放行 Coze Web 服务端口。
三、部署方式说明
Coze 私有化部署通常有几种方式:
-
源码部署
适合开发者二次开发,但依赖较多,部署复杂。 -
Docker Compose 部署
最常见,适合大多数用户,维护简单。 -
一键脚本部署
将安装 Docker、拉取项目、生成配置、启动服务等步骤封装到一个脚本里,适合新手快速部署。
本文重点介绍第三种方式:一键部署。
同时也会说明关键配置,方便你后续维护和排查问题。
四、服务器初始化
首先通过 SSH 登录服务器。
ssh root@你的服务器IP
如果你不是 root 用户,可以使用:
sudo -i
更新系统软件包:
apt update && apt upgrade -y
安装基础工具:
apt install -y curl wget git vim unzip ca-certificates gnupg lsb-release
设置服务器时区为中国上海:
timedatectl set-timezone Asia/Shanghai
查看时间是否正确:
date
五、安装 Docker 和 Docker Compose
如果你的服务器已经安装 Docker,可以跳过本步骤。
1. 一键安装 Docker
执行:
curl -fsSL https://get.docker.com | bash
启动 Docker:
systemctl enable docker
systemctl start docker
查看 Docker 版本:
docker -v
如果输出类似以下内容,说明安装成功:
Docker version 26.x.x, build xxxxx
2. 安装 Docker Compose 插件
较新的 Docker 版本通常自带 Compose 插件,你可以使用:
docker compose version
如果能看到版本号,说明已经安装成功。
如果没有安装,可以执行:
apt install -y docker-compose-plugin
再次确认:
docker compose version
六、创建部署目录
建议将 Coze 相关文件统一放在 /opt/coze 目录中。
mkdir -p /opt/coze
cd /opt/coze
后续所有部署操作都在该目录下执行。
七、一键部署脚本
下面提供一个通用的一键部署脚本示例。
该脚本会完成以下操作:
- 检查 Docker;
- 创建部署目录;
- 拉取 Coze / Coze Studio 项目;
- 生成基础环境变量;
- 启动 Docker Compose 服务;
- 输出访问地址。
注意:不同版本的 Coze 开源项目目录结构可能存在差异,请以你实际使用的官方仓库说明为准。
如果官方仓库提供了专门的docker-compose.yml或部署脚本,应优先使用官方文件。
创建脚本:
vim install-coze.sh
写入以下内容:
#!/usr/bin/env bash
set -e
INSTALL_DIR="/opt/coze"
REPO_URL="https://github.com/coze-dev/coze-studio.git"
APP_PORT="8888"
echo "======================================"
echo " Coze 一键部署脚本"
echo "======================================"
if [ "$(id -u)" != "0" ]; then
echo "请使用 root 用户运行该脚本"
exit 1
fi
echo "[1/7] 更新系统依赖..."
apt update -y
apt install -y curl wget git vim unzip ca-certificates gnupg lsb-release
echo "[2/7] 检查 Docker..."
if ! command -v docker >/dev/null 2>&1; then
echo "未检测到 Docker,开始安装..."
curl -fsSL https://get.docker.com | bash
systemctl enable docker
systemctl start docker
else
echo "Docker 已安装"
fi
echo "[3/7] 检查 Docker Compose..."
if ! docker compose version >/dev/null 2>&1; then
echo "安装 Docker Compose 插件..."
apt install -y docker-compose-plugin
else
echo "Docker Compose 已安装"
fi
echo "[4/7] 创建部署目录..."
mkdir -p ${INSTALL_DIR}
cd ${INSTALL_DIR}
echo "[5/7] 拉取 Coze 项目..."
if [ ! -d "coze-studio" ]; then
git clone ${REPO_URL}
else
echo "项目目录已存在,执行更新..."
cd coze-studio
git pull
cd ..
fi
cd coze-studio
echo "[6/7] 准备环境配置..."
if [ -f ".env.example" ] && [ ! -f ".env" ]; then
cp .env.example .env
echo "已根据 .env.example 生成 .env 文件"
fi
echo "[7/7] 启动服务..."
if [ -f "docker-compose.yml" ]; then
docker compose up -d
elif [ -f "compose.yaml" ]; then
docker compose -f compose.yaml up -d
else
echo "未找到 docker-compose.yml 或 compose.yaml,请检查项目结构"
exit 1
fi
SERVER_IP=$(curl -s ifconfig.me || hostname -I | awk '{print $1}')
echo "======================================"
echo " Coze 部署完成"
echo " 访问地址:"
echo " http://${SERVER_IP}:${APP_PORT}"
echo "======================================"
echo "如无法访问,请检查安全组、防火墙、端口映射和容器状态。"
保存并退出后,赋予执行权限:
chmod +x install-coze.sh
运行一键部署脚本:
bash install-coze.sh
八、查看服务状态
部署完成后,进入项目目录:
cd /opt/coze/coze-studio
查看容器运行状态:
docker compose ps
如果容器状态均为 running 或 healthy,说明服务已正常启动。
查看实时日志:
docker compose logs -f
查看最近 200 行日志:
docker compose logs --tail=200
如果某个服务异常退出,可以单独查看:
docker compose logs 服务名
九、访问 Coze Web 页面
如果服务端口是 8888,可以通过浏览器访问:
http://服务器IP:8888
如果你配置了域名和反向代理,则可以访问:
https://coze.example.com
如果无法访问,请重点检查以下内容:
- 容器是否正常运行;
- 服务器防火墙是否放行端口;
- 云服务器安全组是否开放端口;
- Docker Compose 端口映射是否正确;
- 应用实际监听端口是否与访问端口一致。
十、配置环境变量
大多数 Coze 部署项目都会使用 .env 文件管理配置。
该文件通常位于项目根目录下。
cd /opt/coze/coze-studio
vim .env
常见配置包括:
# 应用访问地址
APP_URL=http://你的服务器IP:8888
# 数据库配置
DB_HOST=mysql
DB_PORT=3306
DB_USER=coze
DB_PASSWORD=请修改为强密码
DB_NAME=coze
# Redis 配置
REDIS_HOST=redis
REDIS_PORT=6379
# JWT 或 Session 密钥
JWT_SECRET=请修改为随机长字符串
SESSION_SECRET=请修改为随机长字符串
# 文件存储配置
STORAGE_TYPE=local
如果你使用域名,则建议将 APP_URL 改为:
APP_URL=https://coze.example.com
修改完成后重启服务:
docker compose down
docker compose up -d
或者:
docker compose restart
十一、配置大模型 API
Coze 平台本身通常不直接提供模型能力,你需要接入第三方大模型服务。
常见可接入的模型包括:
- OpenAI GPT 系列;
- Azure OpenAI;
- DeepSeek;
- 通义千问;
- 智谱 GLM;
- Moonshot Kimi;
- 百川智能;
- 火山引擎豆包;
- 本地 Ollama 模型;
- 私有化 vLLM / Xinference 服务。
1. OpenAI 示例
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx
OPENAI_BASE_URL=https://api.openai.com/v1
2. DeepSeek 示例
DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxx
DEEPSEEK_BASE_URL=https://api.deepseek.com
3. 通义千问示例
DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxx
4. Ollama 本地模型示例
如果 Ollama 和 Coze 在同一台服务器上,可以使用:
OLLAMA_BASE_URL=http://host.docker.internal:11434
在 Linux Docker 环境中,有时需要在 docker-compose.yml 中增加:
extra_hosts:
- "host.docker.internal:host-gateway"
然后重启容器:
docker compose up -d
十二、使用 Nginx 配置域名访问
如果你不想通过 IP:端口 访问,而是希望使用域名访问,例如:
https://coze.example.com
可以使用 Nginx 进行反向代理。
1. 安装 Nginx
apt install -y nginx
systemctl enable nginx
systemctl start nginx
2. 添加站点配置
创建配置文件:
vim /etc/nginx/conf.d/coze.conf
写入:
server {
listen 80;
server_name coze.example.com;
client_max_body_size 100m;
location / {
proxy_pass http://127.0.0.1:8888;
proxy_http_version 1.1;
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;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 300s;
proxy_send_timeout 300s;
}
}
检查配置:
nginx -t
重载 Nginx:
systemctl reload nginx
此时可以访问:
http://coze.example.com
十三、配置 HTTPS 证书
推荐使用 Let’s Encrypt 免费证书。
1. 安装 Certbot
apt install -y certbot python3-certbot-nginx
2. 申请证书
certbot --nginx -d coze.example.com
根据提示输入邮箱并确认协议。
申请成功后,Certbot 会自动修改 Nginx 配置,并启用 HTTPS。
访问:
https://coze.example.com
3. 测试自动续期
certbot renew --dry-run
如果没有报错,说明证书自动续期配置正常。
十四、数据持久化与备份
部署完成后,不要只关注服务是否能访问,还要重视数据持久化和备份。
Coze 可能涉及以下重要数据:
- 数据库数据;
- Redis 数据;
- 上传文件;
- 知识库文档;
- 向量数据库数据;
- 配置文件;
- 用户数据;
- Bot 配置;
- 工作流配置。
1. 查看 Docker 卷
docker volume ls
2. 查看 Compose 配置中的挂载目录
cat docker-compose.yml
重点关注:
volumes:
- ./data/mysql:/var/lib/mysql
- ./data/redis:/data
- ./data/uploads:/app/uploads
如果项目已经将数据挂载到本地目录,例如 /opt/coze/coze-studio/data,则备份该目录即可。
3. 简单备份命令
cd /opt/coze
tar -czvf coze-backup-$(date +%F).tar.gz coze-studio
4. 定时备份建议
可以使用 crontab 每天凌晨备份:
crontab -e
添加:
0 3 * * * cd /opt/coze && tar -czf /opt/coze-backup-$(date +\%F).tar.gz coze-studio
生产环境建议将备份文件同步到对象存储或其他服务器,例如:
- 阿里云 OSS;
- 腾讯云 COS;
- AWS S3;
- MinIO;
- NAS;
- 远程备份服务器。
十五、更新 Coze
如果你使用 Git 拉取官方项目,可以按照以下步骤更新:
cd /opt/coze/coze-studio
git pull
docker compose pull
docker compose down
docker compose up -d
如果更新前担心数据丢失,建议先备份:
cd /opt/coze
tar -czvf coze-before-update-$(date +%F).tar.gz coze-studio
更新后查看日志:
cd /opt/coze/coze-studio
docker compose logs -f
如果出现异常,可以根据备份回滚。
十六、常见问题排查
1. 浏览器无法访问页面
首先检查容器状态:
docker compose ps
检查端口监听:
ss -tunlp | grep 8888
检查防火墙:
ufw status
如果使用云服务器,还需要检查云平台安全组是否开放端口。
2. 容器启动失败
查看日志:
docker compose logs --tail=200
常见原因包括:
.env配置错误;- 数据库密码不一致;
- 端口被占用;
- 镜像拉取失败;
- 服务器内存不足;
- Docker 版本过低;
- 文件权限错误。
3. 端口被占用
查看端口占用:
ss -tunlp | grep 8888
如果端口被其他程序占用,可以修改 docker-compose.yml 中的端口映射。
例如:
ports:
- "8899:8888"
修改后重启:
docker compose up -d
之后访问:
http://服务器IP:8899
4. 镜像下载很慢
如果服务器在国内,Docker 镜像下载可能较慢。
可以配置镜像加速器。
创建或编辑:
vim /etc/docker/daemon.json
写入示例:
{
"registry-mirrors": [
"https://docker.m.daocloud.io"
]
}
重启 Docker:
systemctl daemon-reload
systemctl restart docker
然后重新启动服务:
cd /opt/coze/coze-studio
docker compose up -d
5. 登录或注册异常
可能原因包括:
- 后端服务未启动;
- 数据库连接失败;
- 前端配置的 API 地址错误;
APP_URL配置错误;- 反向代理没有正确传递请求头;
- HTTPS 与 HTTP 混用导致 Cookie 异常。
建议检查:
docker compose logs -f
同时确认 .env 中的访问地址是否与实际访问地址一致。
6. 上传文件失败
可能原因包括:
- Nginx 限制上传大小;
- 后端限制上传大小;
- 存储目录权限不足;
- 磁盘空间不足。
查看磁盘空间:
df -h
调整 Nginx 上传限制:
client_max_body_size 100m;
修改后重载:
nginx -t
systemctl reload nginx
十七、安全加固建议
部署完成后,建议进行基础安全加固。
1. 修改默认密码
如果系统或项目存在默认管理员账号,请第一时间修改密码。
2. 使用强密钥
.env 中类似以下配置必须使用随机长字符串:
JWT_SECRET=
SESSION_SECRET=
ENCRYPTION_KEY=
可以使用以下命令生成:
openssl rand -hex 32
3. 禁止数据库端口暴露到公网
MySQL、PostgreSQL、Redis 等服务不应直接暴露到公网。
在 Docker Compose 中尽量不要将数据库端口映射到宿主机公网。
不推荐:
ports:
- "3306:3306"
推荐仅在 Docker 内部网络访问。
4. 开启 HTTPS
生产环境必须使用 HTTPS,避免登录信息、API Key、Cookie 明文传输。
5. 定期更新
定期更新系统、Docker 镜像和 Coze 项目:
apt update && apt upgrade -y
docker compose pull
6. 限制后台访问
如果 Coze 仅供内部团队使用,可以通过 Nginx 添加 IP 白名单,或者接入企业 VPN、零信任网关。
十八、生产环境部署建议
如果你准备用于真实业务场景,建议不要只使用默认部署方式,而是进一步优化架构。
1. 数据库独立部署
将 MySQL 或 PostgreSQL 独立部署到云数据库,可以获得更好的稳定性和备份能力。
2. Redis 独立部署
对于高并发场景,Redis 建议使用云 Redis 或独立 Redis 实例。
3. 文件使用对象存储
上传文件、知识库文档、图片等建议存储到对象存储服务中,例如:
- 阿里云 OSS;
- 腾讯云 COS;
- AWS S3;
- MinIO。
4. 日志集中收集
可以接入:
- Loki;
- ELK;
- Grafana;
- Prometheus;
- 云日志服务。
5. 配置监控告警
至少需要监控:
- CPU 使用率;
- 内存使用率;
- 磁盘空间;
- 容器状态;
- 接口错误率;
- 模型 API 调用失败率。
十九、完整部署命令汇总
如果你希望快速执行,可以参考以下命令:
apt update && apt upgrade -y
apt install -y curl wget git vim unzip ca-certificates gnupg lsb-release
curl -fsSL https://get.docker.com | bash
systemctl enable docker
systemctl start docker
apt install -y docker-compose-plugin
mkdir -p /opt/coze
cd /opt/coze
git clone https://github.com/coze-dev/coze-studio.git
cd coze-studio
if [ -f ".env.example" ]; then
cp .env.example .env
fi
docker compose up -d
docker compose ps
访问:
http://服务器IP:8888
如果项目实际端口不是 8888,请以 docker-compose.yml 中的端口映射为准。
查看端口映射:
docker compose ps
或:
cat docker-compose.yml
二十、结语
通过本文的步骤,你已经可以在 Linux 服务器上完成 Coze 的一键部署,并了解了后续的域名绑定、HTTPS 配置、模型 API 接入、数据备份、更新维护和常见问题排查。
对于个人开发者来说,Docker Compose 部署已经足够快速、方便;对于企业团队来说,则建议进一步拆分数据库、Redis、对象存储和日志系统,提升可用性和安全性。
最后总结一下部署流程:
- 准备 Ubuntu 服务器;
- 安装 Docker 和 Docker Compose;
- 拉取 Coze 项目;
- 配置
.env环境变量; - 使用
docker compose up -d启动服务; - 通过 IP 或域名访问;
- 接入大模型 API;
- 配置 HTTPS;
- 做好备份和安全加固。
只要按照本文步骤操作,即可较为顺利地完成 Coze 私有化部署,快速搭建属于自己的 AI Bot 开发平台。