前置条件
内存与磁盘用量取决于接入量、活跃数据流数量以及配置中的缓存设置。请根据实际用量规划容量:首页 显示原始与压缩后的接入量,进程也在
/metrics 暴露 Prometheus 指标。参见生产检查清单。
容器镜像
镜像发布为ghcr.io/molesignal/molesignal。每个版本发布一个版本标签(例如 26.1.0.0)和一个通道标签(例如 alpha)。生产环境请固定使用版本标签。
RELEASE_CHANNEL(alpha、beta、rc 或 stable)标记部署成熟度,不会改变二进制本身。网页界面内嵌在二进制中,由 HTTP 端口提供。
部署方式
- Docker Compose
- 二进制与 systemd
- Kubernetes
仓库提供
deploy/docker/docker-compose.yaml,包含两个 profile。两者都会启动 PostgreSQL 17 与 RustFS,并运行 ghcr.io/molesignal/molesignal 的 MoleSignal 镜像。multirole profile 每个角色部署一个容器。router 在 5080 发布网页界面与 HTTP API,在 4317 发布 OTLP gRPC 接收端,参见分角色部署。standalone 服务发布 5080 与 5082,不发布 OTLP gRPC 端口 4317。要从宿主机发送 OTLP gRPC,请为该服务添加 4317:4317 映射。Compose 文件只是沙箱:它使用默认凭据、开发用 cipher key,以及 multirole profile 使用的开发用 MS_SELF_TELEMETRY_CLUSTER_TOKEN。存放真实数据前必须替换,参见生产检查清单。沙箱的存储桶是私有的。端口
健康检查与指标
GET /api/v1/healthz为公开端点。服务正常时返回200与{"status":"ok"};WAL 重放期间或对象存储不可达时返回503并附带reason。容器与负载均衡器探针使用它。GET /metrics为公开端点,返回 Prometheus 指标。请在代理或网络层限制访问。- 在
standalone或router节点上,GET /api/v1/readyz与GET /api/v1/version需要 Bearer Token。version返回版本、commit、构建 id、发布通道与版本类型。 - 分角色集群中不提供完整 API 的节点,在同一端口上不经认证地响应
GET /api/v1/healthz、GET /api/v1/readyz与GET /metrics。