上一篇 下一篇 分享链接 返回 返回顶部

Coze 内网部署实战:从 Docker 安装到 HTTPS 上线完整命令指南

发布人:慈云数据-客服中心 发布时间:15小时前 阅读量:5

Coze 私有化部署方案|附完整命令

本文提供一套面向企业内网、团队自用、开发测试环境的 Coze 私有化部署方案。方案以 Linux 服务器 + Docker / Docker Compose 为主,尽量降低部署复杂度,便于快速落地、后续升级和运维管理。
说明:Coze 开源版本及其部署脚本可能会持续更新,实际部署时应以官方仓库最新文档为准。本文命令适合大多数 Docker Compose 私有化部署场景,可作为完整实施参考。


一、为什么要做 Coze 私有化部署?

Coze 是一个面向 AI Bot / Agent 构建的平台,通常用于搭建智能客服、知识库问答、业务流程助手、内容生成工具、企业内部 Copilot 等应用。相比直接使用云端 SaaS,私有化部署有以下优势:

1. 数据可控

企业内部知识库、客户数据、业务流程、接口密钥等往往具有较高敏感性。私有化部署后,平台运行在企业自有服务器或私有云环境中,数据存储、访问权限、网络边界都可以由企业自行控制。

2. 便于内网集成

很多企业系统并不暴露公网,例如 OA、ERP、CRM、工单系统、知识库系统、数据库等。Coze 私有化后可以直接部署在同一内网环境中,通过内网地址访问业务系统,减少公网暴露风险。

3. 可定制运维策略

企业可以根据自身要求配置 HTTPS、统一认证、日志审计、备份策略、监控告警、资源隔离等能力,更容易符合内部安全规范。

4. 成本和性能可控

对于高频使用场景,私有化部署可以结合本地模型、私有模型服务或企业已有的大模型网关,实现成本优化。同时,系统资源可以按需扩容,避免单纯依赖外部 SaaS 的限流或不可控因素。


二、部署架构概览

一套典型的 Coze 私有化部署架构如下:

用户浏览器
   │
   ▼
Nginx / HTTPS 反向代理
   │
   ▼
Coze Web / API 服务
   │
   ├── 数据库:MySQL / PostgreSQL
   ├── 缓存:Redis
   ├── 对象存储:MinIO / S3
   ├── 向量数据库:Milvus / Elasticsearch / 其他向量服务
   ├── 消息队列:Kafka / RabbitMQ / 内置队列
   └── 大模型服务:OpenAI 兼容接口 / 私有模型 / 云模型

对于中小团队或测试环境,推荐使用 单机 Docker Compose 部署,把相关依赖服务都放在同一台服务器上。
对于生产环境,则建议拆分数据库、对象存储、向量数据库和应用服务,并接入监控、备份、日志系统。


三、服务器配置建议

不同规模的使用场景,对服务器资源要求不同。以下是推荐配置:

场景 CPU 内存 磁盘 说明
本地测试 / Demo 4 核 8 GB 100 GB SSD 仅适合体验功能
小团队试用 8 核 16 GB 200 GB SSD 可支持少量用户
企业生产 16 核+ 32 GB+ 500 GB SSD+ 建议拆分数据库与存储
大规模知识库场景 32 核+ 64 GB+ 1 TB+ 重点关注向量库与对象存储

建议操作系统:

  • Ubuntu Server 22.04 LTS / 24.04 LTS
  • Debian 12
  • CentOS Stream / Rocky Linux / AlmaLinux 9

本文以下命令以 Ubuntu 22.04 / 24.04 为例。


四、部署前准备

1. 更新系统

sudo apt update
sudo apt upgrade -y

安装常用工具:

sudo apt install -y \
  curl \
  wget \
  git \
  vim \
  unzip \
  ca-certificates \
  gnupg \
  lsb-release \
  net-tools \
  htop

设置系统时区:

sudo timedatectl set-timezone Asia/Shanghai
timedatectl

五、安装 Docker

如果服务器尚未安装 Docker,可以使用官方源安装。

1. 卸载旧版本 Docker

sudo apt remove -y docker docker-engine docker.io containerd runc || true

2. 添加 Docker 官方 GPG Key

sudo install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

sudo chmod a+r /etc/apt/keyrings/docker.gpg

3. 添加 Docker 软件源

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4. 安装 Docker Engine 和 Compose 插件

sudo apt update

sudo apt install -y \
  docker-ce \
  docker-ce-cli \
  containerd.io \
  docker-buildx-plugin \
  docker-compose-plugin

5. 启动 Docker

sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl status docker

检查 Docker 版本:

docker version
docker compose version

6. 将当前用户加入 docker 用户组

sudo usermod -aG docker $USER

执行后建议重新登录服务器,或者运行:

newgrp docker

验证:

docker ps

如果能正常输出容器列表,说明 Docker 权限配置成功。


六、拉取 Coze 开源项目

注意:Coze 开源项目地址可能随着官方调整而变化。以下以常见的 GitHub 仓库形式为例,部署前建议先查看官方最新 README。

创建应用目录:

sudo mkdir -p /opt/coze
sudo chown -R $USER:$USER /opt/coze
cd /opt/coze

克隆项目:

git clone https://github.com/coze-dev/coze-studio.git

进入项目目录:

cd /opt/coze/coze-studio

查看项目文件:

ls -lah

查找 Docker Compose 文件:

find . -maxdepth 3 \( -name "docker-compose.yml" -o -name "docker-compose.yaml" -o -name "compose.yml" -o -name "compose.yaml" \)

通常官方会提供类似以下文件之一:

docker-compose.yml
docker-compose.yaml
compose.yaml

如果项目目录结构发生变化,请以实际查找到的 Compose 文件为准。


七、配置环境变量

很多 Docker Compose 项目会提供 .env.example 或类似模板文件。可以先查看:

ls -lah | grep env

如果存在 .env.example,复制一份:

cp .env.example .env

如果文件名是 env.example,则执行:

cp env.example .env

编辑配置文件:

vim .env

常见需要关注的配置包括:

# 应用访问地址
APP_URL=http://your-domain.com

# 数据库配置
MYSQL_ROOT_PASSWORD=please_change_root_password
MYSQL_DATABASE=coze
MYSQL_USER=coze
MYSQL_PASSWORD=please_change_mysql_password

# Redis 配置
REDIS_PASSWORD=please_change_redis_password

# 对象存储配置
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=please_change_minio_password

# 大模型接口配置,示例为 OpenAI 兼容接口
OPENAI_API_KEY=your_api_key
OPENAI_BASE_URL=https://api.openai.com/v1

# 如果使用企业内部模型网关,可以类似这样配置
# OPENAI_BASE_URL=http://llm-gateway.internal/v1

生成随机密码可以使用:

openssl rand -base64 32

例如:

openssl rand -base64 32
openssl rand -hex 32

建议将数据库密码、Redis 密码、MinIO 密码、大模型密钥等配置为高强度密码,不要使用默认值。


八、启动 Coze 服务

如果 Compose 文件名为 docker-compose.yml,执行:

docker compose -f docker-compose.yml pull
docker compose -f docker-compose.yml up -d

如果文件名是 compose.yaml,执行:

docker compose -f compose.yaml pull
docker compose -f compose.yaml up -d

如果项目提供的是多份 Compose 文件,例如基础服务和应用服务分开:

docker compose -f docker-compose.yml -f docker-compose.prod.yml pull
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d

查看容器状态:

docker compose ps

查看实时日志:

docker compose logs -f

查看指定服务日志,例如:

docker compose logs -f web
docker compose logs -f api
docker compose logs -f mysql
docker compose logs -f redis

如果不确定服务名称,可以先执行:

docker compose ps --services

九、访问 Coze

查看当前服务器监听端口:

sudo netstat -tunlp

或:

sudo ss -tunlp

如果 Compose 中将 Web 服务映射到了 8080 端口,可以通过浏览器访问:

http://服务器IP:8080

例如:

http://192.168.1.100:8080

如果你使用的是云服务器,需要在安全组中放行对应端口,例如:

  • 80
  • 443
  • 8080
  • 以及项目实际暴露的端口

Ubuntu 防火墙放行端口:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 8080/tcp
sudo ufw enable
sudo ufw status

十、配置 Nginx 反向代理

生产环境不建议直接通过容器端口访问,推荐使用 Nginx 做统一入口。

1. 安装 Nginx

sudo apt install -y nginx
sudo systemctl enable nginx
sudo systemctl start nginx

2. 新建站点配置

假设 Coze Web 服务运行在服务器本机 8080 端口,域名为:

coze.example.com

创建 Nginx 配置:

sudo vim /etc/nginx/sites-available/coze.conf

写入以下内容:

server {
    listen 80;
    server_name coze.example.com;

    client_max_body_size 100m;

    location / {
        proxy_pass http://127.0.0.1:8080;

        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;
    }
}

启用站点:

sudo ln -s /etc/nginx/sites-available/coze.conf /etc/nginx/sites-enabled/coze.conf

检查 Nginx 配置:

sudo nginx -t

重载 Nginx:

sudo systemctl reload nginx

访问:

http://coze.example.com

十一、配置 HTTPS 证书

如果服务器可以访问公网,并且域名已经解析到服务器,可以使用 Let’s Encrypt 免费证书。

1. 安装 Certbot

sudo apt install -y certbot python3-certbot-nginx

2. 申请证书

sudo certbot --nginx -d coze.example.com

按照提示输入邮箱、同意协议,并选择是否自动重定向 HTTP 到 HTTPS。

3. 测试自动续期

sudo certbot renew --dry-run

查看证书定时任务:

systemctl list-timers | grep certbot

配置完成后访问:

https://coze.example.com

十二、配置大模型服务

Coze 的核心能力依赖大模型。私有化部署后,你可以接入以下几类模型服务:

1. 云厂商大模型 API

例如 OpenAI、Azure OpenAI、火山方舟、阿里云百炼、腾讯混元、智谱、DeepSeek 等,只要提供 OpenAI 兼容接口,一般都可以通过统一网关接入。

示例配置:

OPENAI_API_KEY=sk-xxxx
OPENAI_BASE_URL=https://api.openai.com/v1

如果是私有模型网关:

OPENAI_API_KEY=internal-token
OPENAI_BASE_URL=http://llm-gateway.internal/v1

2. 本地模型服务

如果企业内已有 vLLM、Ollama、Xinference、LMDeploy 等模型服务,可以暴露 OpenAI Compatible API,然后在 Coze 中配置对应地址。

例如 vLLM 启动一个 OpenAI 兼容服务:

python -m vllm.entrypoints.openai.api_server \
  --model /data/models/Qwen2.5-7B-Instruct \
  --host 0.0.0.0 \
  --port 8000

对应 Coze 配置:

OPENAI_API_KEY=EMPTY
OPENAI_BASE_URL=http://模型服务器IP:8000/v1

Ollama 示例:

curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen2.5:7b
ollama serve

如果通过兼容 OpenAI 的代理服务转发,也可以配置为:

OPENAI_BASE_URL=http://ollama-proxy.internal/v1
OPENAI_API_KEY=ollama

十三、常用运维命令

1. 查看所有容器

docker ps
docker ps -a

2. 查看 Compose 服务

cd /opt/coze/coze-studio
docker compose ps

3. 启动服务

docker compose up -d

4. 停止服务

docker compose down

5. 重启服务

docker compose restart

6. 查看日志

docker compose logs -f

查看最近 200 行日志:

docker compose logs --tail=200

7. 查看资源占用

docker stats

8. 进入容器

docker exec -it 容器名 /bin/bash

如果容器没有 bash:

docker exec -it 容器名 /bin/sh

十四、数据备份方案

私有化部署最重要的是数据安全。建议至少备份以下内容:

  • 数据库数据
  • 对象存储数据
  • 向量数据库数据
  • .env 配置文件
  • Docker Compose 文件
  • 上传文件、知识库文件
  • Nginx 配置和证书

1. 创建备份目录

sudo mkdir -p /data/backup/coze
sudo chown -R $USER:$USER /data/backup/coze

2. 备份项目配置

cd /opt/coze

tar -czf /data/backup/coze/coze-config-$(date +%F).tar.gz coze-studio/.env coze-studio/*compose*.yml

3. 备份 MySQL

先查看 MySQL 容器名称:

docker ps | grep mysql

假设容器名为 coze-mysql

docker exec coze-mysql mysqldump -uroot -p'你的数据库root密码' --all-databases > /data/backup/coze/mysql-$(date +%F).sql

压缩备份文件:

gzip /data/backup/coze/mysql-$(date +%F).sql

4. 备份 Docker Volume

查看 volume:

docker volume ls

备份指定 volume:

docker run --rm \
  -v coze_mysql_data:/volume \
  -v /data/backup/coze:/backup \
  alpine \
  tar -czf /backup/coze_mysql_data-$(date +%F).tar.gz -C /volume .

对象存储和向量数据库也可以采用类似方式备份:

docker run --rm \
  -v coze_minio_data:/volume \
  -v /data/backup/coze:/backup \
  alpine \
  tar -czf /backup/coze_minio_data-$(date +%F).tar.gz -C /volume .

5. 定时备份

编辑 crontab:

crontab -e

加入每日凌晨 2 点备份任务:

0 2 * * * /opt/coze/backup-coze.sh >> /data/backup/coze/backup.log 2>&1

创建备份脚本:

vim /opt/coze/backup-coze.sh

写入:

#!/usr/bin/env bash
set -e

BACKUP_DIR="/data/backup/coze"
PROJECT_DIR="/opt/coze/coze-studio"
DATE="$(date +%F-%H%M%S)"

mkdir -p "$BACKUP_DIR"

cd "$PROJECT_DIR"

tar -czf "$BACKUP_DIR/coze-config-$DATE.tar.gz" .env *compose*.yml 2>/dev/null || true

docker compose ps > "$BACKUP_DIR/compose-ps-$DATE.txt"

# 如需数据库备份,请替换容器名和密码
# docker exec coze-mysql mysqldump -uroot -p'你的密码' --all-databases | gzip > "$BACKUP_DIR/mysql-$DATE.sql.gz"

find "$BACKUP_DIR" -type f -mtime +14 -delete

授权执行:

chmod +x /opt/coze/backup-coze.sh

手动测试:

/opt/coze/backup-coze.sh

十五、升级 Coze

升级前务必先备份。

1. 停止服务

cd /opt/coze/coze-studio
docker compose down

2. 备份当前代码和配置

cd /opt/coze

tar -czf /data/backup/coze/coze-before-upgrade-$(date +%F-%H%M%S).tar.gz coze-studio

3. 拉取最新代码

cd /opt/coze/coze-studio
git fetch --all
git pull

如果你使用的是指定版本 tag,可以查看 tag:

git tag

切换到指定版本:

git checkout vX.Y.Z

4. 更新镜像并启动

docker compose pull
docker compose up -d

5. 查看状态

docker compose ps
docker compose logs -f --tail=200

十六、安全加固建议

1. 不要暴露数据库端口到公网

数据库、Redis、MinIO 控制台、向量数据库等不应直接暴露公网。如果 Compose 文件中有类似:

ports:
  - "3306:3306"

生产环境建议改为仅内部网络访问,或者绑定本机:

ports:
  - "127.0.0.1:3306:3306"

2. 使用强密码

所有默认密码必须修改,包括:

  • 数据库 root 密码
  • 应用数据库用户密码
  • Redis 密码
  • MinIO 管理员密码
  • 后台管理员密码
  • 大模型 API Key

3. 限制访问来源

如果只给公司内部使用,可以在 Nginx 中限制 IP:

location / {
    allow 192.168.0.0/16;
    allow 10.0.0.0/8;
    deny all;

    proxy_pass http://127.0.0.1:8080;
}

4. 启用 HTTPS

生产环境必须使用 HTTPS,避免登录态、Token、敏感数据在网络中明文传输。

5. 做好日志留存

建议至少保留:

  • Nginx 访问日志
  • Nginx 错误日志
  • 应用日志
  • 容器运行日志
  • 数据库慢查询日志

十七、常见问题排查

1. 容器启动失败

查看容器状态:

docker compose ps

查看日志:

docker compose logs -f --tail=300

常见原因包括:

  • .env 配置错误
  • 数据库密码不一致
  • 端口被占用
  • 内存不足
  • 镜像拉取失败
  • 依赖服务未启动完成

2. 端口被占用

查看端口占用:

sudo lsof -i:8080

或:

sudo ss -tunlp | grep 8080

停止占用进程:

sudo kill -9 进程ID

或者修改 Compose 端口映射。

3. 镜像拉取慢

可以配置 Docker 镜像加速,编辑:

sudo vim /etc/docker/daemon.json

示例:

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io"
  ]
}

重启 Docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

4. 页面打不开

依次检查:

docker compose ps
sudo ss -tunlp
curl -I http://127.0.0.1:8080
sudo nginx -t
sudo systemctl status nginx

如果本机可以访问但外部不行,重点检查:

  • 云服务器安全组
  • 防火墙规则
  • Nginx server_name
  • 域名解析
  • HTTPS 证书配置

5. 大模型调用失败

测试模型接口:

curl http://你的模型网关/v1/models \
  -H "Authorization: Bearer 你的API_KEY"

测试 Chat Completions:

curl http://你的模型网关/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer 你的API_KEY" \
  -d '{
    "model": "你的模型名称",
    "messages": [
      {
        "role": "user",
        "content": "你好,请简单介绍一下你自己"
      }
    ]
  }'

如果接口正常但 Coze 中失败,检查:

  • Base URL 是否带 /v1
  • API Key 是否正确
  • 模型名称是否匹配
  • 网络是否能从 Coze 容器访问模型服务
  • 企业代理、防火墙是否拦截

进入 Coze 容器测试网络:

docker exec -it 容器名 /bin/sh
curl http://模型服务地址/v1/models

十八、推荐生产环境落地方案

如果是正式企业使用,不建议所有服务长期放在单机上。推荐逐步演进为以下架构:

负载均衡 / Nginx / Ingress
        │
        ▼
Coze 应用服务集群
        │
        ├── 独立 MySQL / PostgreSQL 主从或云数据库
        ├── 独立 Redis / Redis Cluster
        ├── 独立 MinIO 集群或云对象存储
        ├── 独立向量数据库
        ├── 企业大模型网关
        ├── Prometheus + Grafana 监控
        └── ELK / Loki 日志系统

这样做的好处是:

  • 应用服务可以横向扩展
  • 数据服务可靠性更高
  • 备份恢复更容易
  • 资源瓶颈更容易定位
  • 更符合企业生产运维规范

十九、一键部署命令汇总

下面给出一组从零开始的部署命令,适合快速复制执行。请根据实际域名、端口和官方仓库说明调整。

# 1. 更新系统
sudo apt update && sudo apt upgrade -y

# 2. 安装基础工具
sudo apt install -y curl wget git vim unzip ca-certificates gnupg lsb-release net-tools htop

# 3. 设置时区
sudo timedatectl set-timezone Asia/Shanghai

# 4. 安装 Docker
sudo apt remove -y docker docker-engine docker.io containerd runc || true

sudo install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

sudo 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 \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo systemctl enable docker
sudo systemctl start docker

# 5. 创建部署目录
sudo mkdir -p /opt/coze
sudo chown -R $USER:$USER /opt/coze
cd /opt/coze

# 6. 克隆 Coze 项目
git clone https://github.com/coze-dev/coze-studio.git

cd /opt/coze/coze-studio

# 7. 准备环境变量
if [ -f ".env.example" ]; then
  cp .env.example .env
elif [ -f "env.example" ]; then
  cp env.example .env
else
  touch .env
fi

# 8. 查看需要修改的配置
grep -n "PASSWORD\|SECRET\|KEY\|URL\|HOST\|PORT" .env || true

# 9. 编辑配置文件
vim .env

# 10. 查找 Compose 文件
find . -maxdepth 3 \( -name "docker-compose.yml" -o -name "docker-compose.yaml" -o -name "compose.yml" -o -name "compose.yaml" \)

# 11. 启动服务,以下以 docker-compose.yml 为例
docker compose -f docker-compose.yml pull
docker compose -f docker-compose.yml up -d

# 12. 查看服务状态
docker compose -f docker-compose.yml ps

# 13. 查看日志
docker compose -f docker-compose.yml logs -f --tail=200

二十、总结

Coze 私有化部署的核心思路并不复杂:先准备一台稳定的 Linux 服务器,然后通过 Docker Compose 启动 Coze 及其依赖服务,再通过 Nginx 和 HTTPS 提供统一访问入口。对于测试环境,单机部署足够快速;对于生产环境,则需要重点关注数据库、对象存储、向量库、模型服务、备份、安全和监控。

如果你只是想快速体验,可以直接使用本文的一键命令完成部署;如果要在企业内部长期运行,建议在上线前补齐以下工作:

  • 修改所有默认密码;
  • 配置 HTTPS;
  • 关闭不必要的公网端口;
  • 定期备份数据库和对象存储;
  • 接入企业大模型网关;
  • 配置日志、监控和告警;
  • 制定升级与回滚流程。

只要基础设施规划合理,Coze 私有化部署可以很好地支撑企业内部 Agent 平台、智能客服、知识库问答、流程自动化助手等应用场景。

目录结构
全文