交付包安装
一条命令安装、手动下载交付包、离线主机安装,以及 deploy.sh 的每一步。
所有版本使用同一个交付包 RST-AI-Copilot-for-Prometheus-<版本>.tar.gz,内含网关、Caddy、pgvector/pgvector:pg16 三个镜像和全部部署文件(compose、Caddyfile、.env.example、deploy.sh、更新脚本、备份脚本和文档)。未激活许可时以社区版运行。
一条命令安装
curl -fsSL https://github.com/Reallysec/RST-AI-Copilot-for-Prometheus/releases/latest/download/install.sh | sudo bash脚本做这几件事:
- 取最新的签名版本,下载发布清单
release-manifest.token,用内嵌的 Reallysec 发布公钥验签。 - 下载交付包,核对 SHA-256 与签名清单一致。任一校验不通过,删除下载的文件,什么都不装。
- 解压到
/opt/rst-ai-copilot-for-prometheus,执行其中的deploy.sh。
| 选项 | 说明 |
|---|---|
--version <x.y.z> | 安装指定版本,默认最新的签名版本 |
--dir <路径> | 安装目录,默认 /opt/rst-ai-copilot-for-prometheus |
--mirror github|cn | 下载源。默认先 GitHub,失败再试国内镜像;cn 先试国内镜像 |
--download-only | 只下载并校验,保存到当前目录,不部署 |
腾讯云 COS 国内镜像目前尚未开通。--mirror cn 或默认顺序里的国内镜像都会跳过,回落到 GitHub Releases。
再次执行同一命令即升级到新版本,安装目录中的 .env 和 state/ 保留。
离线主机
在能上网的机器上下载并校验,再把交付包拷到目标主机:
curl -fsSL https://github.com/Reallysec/RST-AI-Copilot-for-Prometheus/releases/latest/download/install.sh | bash -s -- --download-only也可以从 GitHub Releases 下载 RST-AI-Copilot-for-Prometheus-<版本>.tar.gz 与同名 .sha256 文件,手动校验:
sha256sum -c RST-AI-Copilot-for-Prometheus-<版本>.tar.gz.sha256在目标主机上解压到固定目录并执行 deploy.sh:
sudo mkdir -p /opt/rst-ai-copilot-for-prometheus
sudo tar xzf RST-AI-Copilot-for-Prometheus-<版本>.tar.gz -C /opt/rst-ai-copilot-for-prometheus --strip-components=1
cd /opt/rst-ai-copilot-for-prometheus && sudo ./deploy.sh交付包内含全部镜像,部署时不访问镜像仓库。离线主机按发行版用离线安装包装 Docker Engine 24 和 Compose 插件。
deploy.sh 的步骤
deploy.sh 交互引导,提示为中英双语:
- 预检 Docker 24 和 Compose v2,生成
state/machine-id与state/server_guid(许可硬件指纹的两半,生成后不可重建)。 - 加载包内镜像。
- 选择认证方式:1 为网关自带登录;2 为 SSO(OIDC,需要企业版许可),见单点登录。
- 填写大模型地址、key、模型名和时区。大模型可以留空,时区默认
+08:00,模型理解「今天」「昨天」依赖它。 - 填写数据源,每一项都可以留空,装完在 设置 > 数据源连接 中补:
- Prometheus 地址,认证选无、Basic(用户名和口令)或 Bearer token;
- Alertmanager 地址,认证同上;
- Grafana 地址(浏览器能打开的地址)和 Prometheus 数据源 UID(默认
prometheus)。Grafana 没有认证项,网关只生成跳转链接。
- 填写访问域名或 IP。网关自带登录时设置
admin口令,不少于 8 位;SSO 时填写 OIDC issuer、client id 和 client secret。 - 生成内部密钥(网关共享密钥、管理 token、PostgreSQL 口令),确认后写入
.env,权限 600。 - 执行
docker compose -f docker-compose.prod.yml up -d,等全部容器 healthy,打印访问地址。
重新执行 deploy.sh 时选择保留现有 .env,只加载新镜像并重建容器,不再询问配置。选择覆盖时,旧 .env 先备份为 .env.<时间>.bak,PostgreSQL 口令沿用旧值。
手动安装
不走交互时:cp .env.example .env,填写必填项(见配置项),然后:
docker load < RST-AI-Copilot-for-Prometheus-images-<版本>.tar
docker compose -f docker-compose.prod.yml up -d使用客户自己的 PostgreSQL
需要 PostgreSQL 16 并装好 pgvector 扩展。把 .env 中的 RST_DB_URL 指向它,只启动网关和 Caddy:
docker compose -f docker-compose.prod.yml up -d --no-deps gateway caddy网关启动时自动建表,迁移只作用于本产品自己的表。
验证
curl -k https://copilot.corp.local/healthz # {"status":"ok"}
curl -k https://copilot.corp.local/readyz # db / prometheus/healthz 表示进程存活。/readyz 要求数据库可达且 Prometheus 可连,prometheus_configured: false 表示还没配置数据源。登录后在 设置 > 数据源连接 中逐个点 测试连接。
卸载
在安装目录中操作,先备份:
cd /opt/rst-ai-copilot-for-prometheus
docker compose -f docker-compose.prod.yml down # 停止并删除容器,保留数据卷
docker compose -f docker-compose.prod.yml down -v # 连数据卷一起删除,不可恢复卸载不影响客户的 Prometheus 和 Alertmanager。网关写过的规则文件和静默由客户自行清理。卸载不会通知许可服务器,这台主机仍占一个节点;换机时恢复 state/ 目录即可沿用指纹,或联系 Reallysec 释放旧节点。