Skip to content

平台安装部署 ​

本文按步骤安装 Docker、中间件与 ProCode 系统;首次启动可自动还原站点库与业务库。

交付压缩包解压后为两个目录:

middleware/                 # 中间件
  docker-compose.yml
  .env
  README.md
  initdb/                   # 首次启动自动建库/还原
procode/                    # ProCode 系统
  docker-compose.yml
  .env
  config/
    appsettings.json        # 应用配置
    log4net.config          # 日志配置
    license.lic             # 许可证(交付默认不匹配,需按下方申请替换)
  skills/                   # 内置技能包
组件说明
中间件MySQL、MongoDB、Redis、MinIO、Kafka、Qdrant
ProCode 系统Web(6001)、API(6002,容器名 procode-service)
MySQL 库pro_code_site(站点库)、pro_code(业务库)
MongoDB审计日志、异常日志、登录日志

中间件与 ProCode 系统默认密码均为 ProCode@2026。


安装过程 ​

1. 安装 Docker ​

bash
docker --version
docker compose version

未安装时按操作系统官方文档安装 Docker Engine(含 Compose 插件)。

2. 下载部署包 ​

仓库:https://gitee.com/pro_code/deployment.git

bash
cd /data
git clone https://gitee.com/pro_code/deployment.git
# 得到 middleware/、procode/
mkdir -p /data/middleware/data/{minio,mysql,mongodb,redis,kafka,qdrant}

若仓库内容在子目录,将 middleware、procode 放到 /data 下再启动。

3. 修改中间件默认配置 ​

bash
cd /data/middleware
# 编辑 .env:至少把 SITE_DOMAIN 改成服务器 IP
变量说明交付默认
SITE_DOMAIN浏览器访问主机(IP/域名),须与地址栏一致127.0.0.1(部署前必改)
MYSQL_ROOT_PASSWORDMySQL root 密码ProCode@2026
MYSQL_DATABASE首次自动创建的库pro_code_site
MINIO_ROOT_USER / MINIO_ROOT_PASSWORDMinIOroot / ProCode@2026
MONGO_ROOT_USER / MONGO_ROOT_PASSWORDMongoDBroot / ProCode@2026
REDIS_PASSWORDRedisProCode@2026
KAFKA_CLUSTER_IDKafka 集群 ID保持交付值,初始化后勿改

首次启动 MySQL 时,initdb/01-restore.sh 会在导入 SQL 后按 .env 改写下列位置(改密码时请保持各服务密码与 .env 一致):

库表改写内容
pro_code_sitet_sitef_domain、引擎库连接、Redis/Mongo/MinIO/Kafka/Qdrant 等
pro_codet_site同上(运行态站点配置)
pro_codet_database业务库 f_host / f_database / 账号密码

4. 启动中间件 ​

库名用途交付文件
pro_code_site站点库middleware/initdb/sql/pro_code_site.sql
pro_code业务库middleware/initdb/sql/pro_code.sql

交付 SQL 在首次空库启动时由 initdb/01-restore.sh 自动还原;脚本会按 SITE_DOMAIN 与中间件密码写入 pro_code_site.t_site、pro_code.t_site、pro_code.t_database(含 MySQL / Redis / Mongo / MinIO / Kafka / Qdrant 连接)。

bash
cd /data/middleware
docker compose pull
docker compose up -d
docker compose ps
# 首次空数据目录时,MySQL 自动建库并还原 initdb/sql 中的脚本
docker logs procode-mysql 2>&1 | grep initdb

仅当 /data/middleware/data/mysql 为空(首次初始化)时自动还原;已有数据目录不会重复导入。事后改域名或密码须在 MySQL 中手工更新上述三张表,见交付包 middleware/README.md 与 平台初始化配置。

已有数据目录时,只改 .env 不会改库内已有密码/域名。

5. 修改 ProCode 系统配置 ​

bash
cd /data/procode
# 编辑 .env:API_BASE 主机与 middleware 的 SITE_DOMAIN 保持一致

5.1 编辑 procode/.env ​

变量说明
PROCODE_SERVICE_IMAGEAPI 镜像(如 .../procode-service:7.0.0.1)
PROCODE_WEB_IMAGEWeb 镜像(如 .../procode-web:7.0.0.1)
PROCODE_WEB_PORTWeb 宿主机端口,默认 6001
PROCODE_SERVICE_PORTAPI 宿主机端口,默认 6002
API_BASE浏览器可访问的 API 地址,如 http://服务器IP:6002(主机须与 SITE_DOMAIN 一致)
DB_CONNECTION_STRINGMySQL 站点库连接(库名 pro_code_site,主机可用 procode-mysql)
REDIS_CONNECTIONRedis 连接(须含与中间件一致的密码)
JWT_SIGNING_KEY至少 32 字符
KAFKA_SERVERS如 procode-kafka:9092
QDRANT_URL如 http://procode-qdrant:6333

API_BASE 须为浏览器可达的 IP/域名,不要写 Docker 内部服务名或仅本机 localhost(除非只在本机浏览器访问)。

5.2 编辑 procode/config/appsettings.json ​

项说明
Service:Port与 PROCODE_SERVICE_PORT 一致(默认 6002)
ConnectionStrings:DefaultConnection可被环境变量覆盖;建议与 .env 中站点库一致
Jwt建议与 .env 中 JWT 一致
Plugin交付默认即可

5.3 许可证(必做) ​

交付包内 config/license.lic 默认与当前服务器不匹配,API 无法正常启动,属预期现象。

申请正式授权:

  1. 启动一次 API,查看控制台日志中的注册码(机器码):
bash
cd /data/procode
docker compose up -d procode-service
docker compose logs procode-service 2>&1 | grep '当前机器码'
# 或更宽:grep -E '机器码|许可证'

日志中类似:

text
当前机器码:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
许可证机器码不匹配。期望=...,当前=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
许可证校验失败,应用程序无法启动

注册码即日志里的「当前机器码」。启动校验会先打出该行再因不匹配退出,故默认 license 下也能从日志取到。也可查看卷内文件:docker compose exec procode-service cat /app/logs/procode.log | grep '当前机器码'(容器若已退出,可直接看宿主机挂载的 procode-logs)。

  1. 将上述**注册码(当前机器码)**提供给运营商,申请授权。
  2. 运营商下发正式 license.lic 后,覆盖 procode/config/license.lic。
  3. 重新启动 API:
bash
cd /data/procode
docker compose up -d procode-service
docker compose logs -f procode-service
# 看到「许可证校验通过」即可

机器码与服务器硬件绑定。更换宿主机或关键硬件后需重新申请。

业务库 pro_code 连接在首次还原时由 initdb 写入 pro_code.t_site 与 pro_code.t_database;登录前建议按 平台初始化配置 核对三处记录。

6. 启动 ProCode 系统 ​

bash
cd /data/procode
docker compose pull
docker compose up -d
docker compose ps
docker compose logs -f procode-service

确认日志出现「许可证校验通过」后,再访问:

入口地址
Webhttp://服务器IP:6001
APIhttp://服务器IP:6002

登录后继续 平台初始化配置。


中间件与端口一览 ​

服务容器名端口用途
MinIOprocode-minio9000 / 9001对象存储
MySQLprocode-mysql3306pro_code_site、pro_code
MongoDBprocode-mongodb27017审计 / 异常 / 登录日志
Redisprocode-redis6379缓存
Kafkaprocode-kafka9092消息队列
Qdrantprocode-qdrant6333 / 6334向量库
Webprocode-web6001ProCode 系统 Web
APIprocode-service6002ProCode 系统 API

验收检查 ​

检查项期望
cd /data/middleware && docker compose ps核心容器运行中
MySQL已有 pro_code_site、pro_code 且已还原
cd /data/procode && docker compose psprocode-service、procode-web 运行中
浏览器:6001 可打开并调用 API
登录能进入系统并加载菜单

常见问题 ​

现象处理方向
网络 procode-storage 不存在先启动 middleware
许可证错误 / 服务反复退出交付默认 license.lic 不匹配;从日志取注册码交运营商,替换后再启
Web 能开但接口失败检查 API_BASE、防火墙;确认 API 日志已「许可证校验通过」
站点未找到 / 404pro_code_site.t_site / pro_code.t_site 的 f_domain 是否等于浏览器主机;API_BASE 是否同源
连不上 MySQL.env 密码/库名是否与中间件一致;主机名可用 procode-mysql
Redis 认证失败REDIS_CONNECTION 是否带正确 password=(服务名 redis)
连不上引擎库 / 业务无表pro_code.t_database 是否指向 procode-mysql / 库名 pro_code;密码是否与 middleware 一致

相关文档 ​

白泽 ProCode 开发者文档