离线安装
制作 Crest 离线安装包,并在不能访问外网的服务器上完成部署。
离线安装适合生产内网、政企内网或无法直接访问镜像仓库的服务器。核心思路是在有网络的机器上制作离线包,再把完整包上传到目标服务器安装。
离线安装比在线安装更依赖准备工作。安装失败时,目标服务器通常不能临时拉取缺失镜像或依赖,所以包完整性、系统架构、Docker 版本和端口占用必须提前确认。
制作离线包
在可访问镜像仓库的机器上执行:
cd installer
bash make-offline-package.sh v1.5.7 linux-amd64ARM 服务器使用:
bash make-offline-package.sh v1.5.7 linux-arm64生成文件示例:
crest-offline-v1.5.7-linux-amd64.tar.gz
crest-offline-v1.5.7-linux-arm64.tar.gz
crest-app-images-v1.5.7-linux-amd64.tar.gz
crest-app-images-v1.5.7-linux-arm64.tar.gz制作完成后建议生成校验值:
sha256sum crest-offline-v1.5.7-linux-amd64.tar.gz把包名、版本、架构、生成时间和校验值一起记录。离线环境排查问题时,先确认拿到的是正确安装包。
离线包内容
完整离线包通常包含:
| 内容 | 说明 |
|---|---|
| 安装脚本 | install.sh、uninstall.sh |
| 配置模板 | install.conf、后端配置模板 |
| Docker Compose | 前端网关、后端服务、MySQL 和可选监控组件编排文件 |
| 镜像归档 | Crest 前端镜像、后端镜像、MySQL 镜像和可选监控镜像 |
| 说明文档 | 安装、升级和默认账号说明 |
从 v1.5.5 起,Release 同时提供应用镜像升级包:
| 包类型 | 用途 | 包含内容 |
|---|---|---|
crest-offline-* | 全新离线安装或完整交付 | 安装脚本、配置模板、Compose、Crest 前后端镜像、MySQL 镜像、可选监控配置和升级 SQL |
crest-app-images-* | 已有环境只替换 Crest 前后端应用 | Crest 后端镜像、Crest 前端镜像、增量升级 SQL 和加载说明 |
应用镜像升级包不包含 MySQL、Prometheus、Grafana 镜像,也不包含完整安装脚本。已有内网环境仅需升级前后端服务时,优先使用该包,可明显降低传输体积。
离线包和应用镜像升级包都是发布物,不建议提交到源码仓库。
上传到目标服务器
scp crest-offline-v1.5.7-linux-amd64.tar.gz user@server:/opt/packages/在目标服务器解压:
cd /opt/packages
tar -zxf crest-offline-v1.5.7-linux-amd64.tar.gz
cd crest-offline-v1.5.7-linux-amd64解压后先检查目录内容是否完整,尤其是安装脚本、镜像归档和配置模板。文件缺失时不要继续安装,先重新传包。
修改配置并安装
编辑 install.conf:
CREST_PORT=8100
CREST_ORIGIN_LIST=https://bi.example.com
CREST_INITIAL_PASSWORD='替换为高强度初始密码'
CREST_DB_PASSWORD='替换为高强度数据库密码'
CREST_AES_KEY='32位加密Key'
CREST_AES_IV='16位加密IV'
CREST_CRYPTO_MODE=standard需要国密模式时,在离线包安装前一并配置:
CREST_CRYPTO_MODE=sm-suite
CREST_SM4_KEY='0123456789abcdef'离线部署中的国密能力和在线部署一致。启用后,系统页面和用户操作流程不变;差异在于安装参数、密钥备份和升级恢复时必须保留同一组加密配置。
需要同时启用 Prometheus 和 Grafana 时,在安装前增加:
CREST_PROMETHEUS_ENABLED=true
CREST_GRAFANA_ENABLED=true
CREST_GRAFANA_PORT=3000离线包会包含对应镜像和配置模板;是否启用由目标服务器上的 install.conf 决定。
执行安装:
bash install.sh安装脚本会优先加载离线包中的镜像,不再依赖外部镜像仓库。
安装完成后按部署后检查章节执行验收。离线安装常见问题包括架构不匹配、镜像包不完整、Docker 版本过低、端口占用和磁盘空间不足。
安装完成后,先打开登录页:

登录页可访问后,再使用安装输出的管理员账号登录工作台。安装是否完成不能仅依赖 docker compose ps 判断。
离线安装检查
- 离线包架构是否与服务器一致。
- 镜像归档是否完整。
- Docker 和 Docker Compose 是否可用。
- 端口是否未被占用。
- 安装完成后是否能登录。
- 安装日志是否保存。
建议
离线包进入生产环境前,建议记录包名、版本、生成时间、校验值和使用的镜像版本。
离线环境建议保留安装包和安装日志。后续升级或回滚时,能快速确认当前环境是由哪个包安装的。
离线升级说明
全新安装不需要手动执行 upgrade-sql/ 中的 SQL。已有环境升级时,按来源版本判断:
| 来源版本 | 升级到 v1.5.7 的处理 |
|---|---|
| v1.5.6 | 备份后替换前后端镜像,不需要执行新增升级 SQL |
| v1.5.5 | 备份后替换前后端镜像,不需要执行新增升级 SQL |
| v1.5.4 | 先执行 upgrade-sql/v1.5.4_to_v1.5.5.sql,再替换 v1.5.7 前后端镜像 |
| 更早开发环境 | 建议导出业务资源,在全新 v1.5.7 环境中导入 |
v1.5.7 没有数据库结构、系统参数或初始化数据变更。已有 v1.5.6 环境升级到 v1.5.7 时,重点验证 MySQL 数据集缓存、公开分享链接、API 数据源 JsonPath 解析和数据源校验,不需要执行新增升级 SQL。
单机内置 MySQL 环境执行 v1.5.4 到 v1.5.5 的升级 SQL 示例:
set -a
source /opt/crest/.env
set +a
docker exec -i mysql-crest mysql -uroot -p"${CREST_DB_PASSWORD}" "${CREST_DB_NAME:-crest}" < upgrade-sql/v1.5.4_to_v1.5.5.sql如果安装时修改过 CREST_BASE,请把 /opt/crest/.env 替换为实际运行目录中的 .env。外部 MySQL 环境可在数据库服务器或运维机执行同一 SQL 文件,目标库为 Crest 元数据库。