试用安装包下载 | SMS | 试用安装包下载 | 在线演示
开源项目地址https://github.com/openskeye/go-vss
当前为自构建部署
1. 适用范围
本文用于本项目的标准化部署,覆盖两种方式:
- 方式 A:单机二进制部署(适合本地/现场环境)
- 方式 B:Docker Compose 部署(适合测试/生产环境)
2. 部署前准备
2.1 服务器建议
- CPU:2 核及以上
- 内存:4GB 及以上
- 磁盘:SSD,建议日志与数据分盘
- 网络:千兆及以上
- 操作系统:Linux 优先(Ubuntu/CentOS),Windows 可部署
2.2 依赖组件
- MySQL(可选,若使用 sqlite 可不启)
- Redis
- etcd
- 媒体服务:
SkeyesMS(必须)
2.3 开放端口(按需)
11001MySQL11002Redis11003etcd11004Web Proxy11005Media Server HTTP11008VSS SIP(TCP/UDP)11009Cron11010DB RPC11011Backend API11013VSS HTTP11014VSS SSE11015VSS Cascade SIP11018VSS WebSocket- RTP/RTC 端口段(按媒体服务配置放行)
3. 配置准备
3.1 环境变量文件
在项目根目录准备:
cp.env.local.default .env.local生产建议使用独立文件(如.env.prod或.env.prod.d)。
3.2 关键参数
必须先检查:
- 网络:
SKEYEVSS_INTERNAL_IPSKEYEVSS_EXTERNAL_IP
- 数据库:
SKEYEVSS_DATABASE_TYPE(sqlite/mysql)SKEYEVSS_MYSQL_*(mysql 模式下)
- 服务发现:
SKEYEVSS_ETCD_HOSTSKEYEVSS_ETCD_CLIENT_PORT
- 国标 SIP:
SKEYEVSS_VSS_SIP_IDSKEYEVSS_VSS_SIP_DOMAINSKEYEVSS_VSS_SIP_PASSWORD
- 媒体服务联动:
SKEYEVSS_MEDIA_SERVER_*SKEYEVSS_MEDIA_SERVER_NOTIFY_*
4. 单机二进制部署
4.1 启动顺序
建议严格按以下顺序启动:
- MySQL / Redis / etcd
DB RPCVSSBackend APICronWeb ProxySkeyesMS(确保可用并与 VSS 配置一致)
4.2 启动命令示例
go run core/app/sev/db/main.go-env.env.local-fetc/.db-rpc.yaml go run core/app/sev/vss/main.go-env.env.local-fetc/.vss.yaml go run core/app/sev/backend/main.go-env.env.local-fetc/.backend-api.yaml go run core/app/sev/cron/main.go-env.env.local-fetc/.cron.yaml go run core/app/sev/web/main.go-env.env.local-fetc/.web-sev.yaml -web-static-dir<前端构建目录>媒体服务按其独立参数启动,例如:
<SkeyesMS可执行文件>-cetc/skeyesms.conf-p110054.3 访问验证
- 平台入口:
http://<IP>:11004 - API(经代理):
http://<IP>:11004/api-backend - 默认账号(按 env):
admin / 111111
5. Docker Compose 部署
5.1 前置条件
- 已安装 Docker 与 Docker Compose
- 已准备部署目录(对应
SKEYEVSS_SEV_VOLUMES_DIR) - 已准备 env 文件(如
.env.prod.d)
5.2 启动命令
在docker-compose.yml所在目录执行:
docker-compose--profilecore--profileconf up-d如需包含依赖更新或构建流程,可按需增加 profile(needed-update、builder等)。
5.3 查看状态
docker-composepsdocker-composelogs-fvssdocker-composelogs-fbackendapi5.4 停止服务
docker-composedown6. 健康检查与验收
部署完成后建议逐项验收:
- 进程/容器都为运行状态
DB RPC已注册到 etcdBackend API可正常返回登录接口Web Proxy可访问管理页面- GB28181 设备可注册并在线
- 实时播放链路可用(VSS -> SkeyesMS -> 前端)
- 日志目录正常写入(
logs/或挂载目录)
7. 升级与回滚
7.1 升级建议
- 备份:
- MySQL 数据
- 配置文件(env +
etc/*.yaml) - 关键目录(日志、证书、静态资源)
- 灰度验证:
- 先在测试环境验证启动和播放链路
- 正式升级:
- 先停业务服务,再升级二进制/镜像,再按启动顺序恢复
7.2 回滚建议
- 保留上一个稳定版本二进制或镜像 tag
- 保留对应 env 与配置快照
- 回滚后优先验证:
- 登录
- 设备在线
- 播放
- 录像计划
8. 常见问题
- 设备注册失败:优先检查 SIP ID/域/密码与防火墙策略。
- 无法播放:确认 SkeyesMS 运行正常,VSS 通知地址可达。
- DB RPC 调用超时:检查 etcd 注册、Redis/MySQL 连接。
- 页面能开但接口报错:检查 Web Proxy 反向代理和 Backend API 监听地址。
- Docker 启动失败:检查 env 文件变量是否完整、宿主机端口是否被占用。