1.1 部署说明(github go-vss版本).local。

2 阅读3分钟

Skeyevss 部署说明

试用安装包下载 | SMS | 试用安装包下载 | 在线演示

项目地址 github.com/openskeye/g…

当前为自构建部署

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 开放端口(按需)

  • 11001 MySQL
  • 11002 Redis
  • 11003 etcd
  • 11004 Web Proxy
  • 11005 Media Server HTTP
  • 11008 VSS SIP(TCP/UDP)
  • 11009 Cron
  • 11010 DB RPC
  • 11011 Backend API
  • 11013 VSS HTTP
  • 11014 VSS SSE
  • 11015 VSS Cascade SIP
  • 11018 VSS WebSocket
  • RTP/RTC 端口段(按媒体服务配置放行)

3. 配置准备

3.1 环境变量文件

在项目根目录准备:

cp .env.local.default .env.local

生产建议使用独立文件(如 .env.prod.env.prod.d)。

3.2 关键参数

必须先检查:

  • 网络:
    • SKEYEVSS_INTERNAL_IP
    • SKEYEVSS_EXTERNAL_IP
  • 数据库:
    • SKEYEVSS_DATABASE_TYPEsqlite/mysql
    • SKEYEVSS_MYSQL_*(mysql 模式下)
  • 服务发现:
    • SKEYEVSS_ETCD_HOST
    • SKEYEVSS_ETCD_CLIENT_PORT
  • 国标 SIP:
    • SKEYEVSS_VSS_SIP_ID
    • SKEYEVSS_VSS_SIP_DOMAIN
    • SKEYEVSS_VSS_SIP_PASSWORD
  • 媒体服务联动:
    • SKEYEVSS_MEDIA_SERVER_*
    • SKEYEVSS_MEDIA_SERVER_NOTIFY_*

4. 单机二进制部署

4.1 启动顺序

建议严格按以下顺序启动:

  1. MySQL / Redis / etcd
  2. DB RPC
  3. VSS
  4. Backend API
  5. Cron
  6. Web Proxy
  7. SkeyesMS(确保可用并与 VSS 配置一致)

4.2 启动命令示例

go run core/app/sev/db/main.go -env .env.local -f etc/.db-rpc.yaml
go run core/app/sev/vss/main.go -env .env.local -f etc/.vss.yaml
go run core/app/sev/backend/main.go -env .env.local -f etc/.backend-api.yaml
go run core/app/sev/cron/main.go -env .env.local -f etc/.cron.yaml
go run core/app/sev/web/main.go -env .env.local -f etc/.web-sev.yaml -web-static-dir <前端构建目录>

媒体服务按其独立参数启动,例如:

<SkeyesMS可执行文件> -c etc/skeyesms.conf -p 11005

4.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 --profile core --profile conf up -d

如需包含依赖更新或构建流程,可按需增加 profile(needed-updatebuilder 等)。

5.3 查看状态

docker-compose ps
docker-compose logs -f vss
docker-compose logs -f backendapi

5.4 停止服务

docker-compose down

6. 健康检查与验收

部署完成后建议逐项验收:

  1. 进程/容器都为运行状态
  2. DB RPC 已注册到 etcd
  3. Backend API 可正常返回登录接口
  4. Web Proxy 可访问管理页面
  5. GB28181 设备可注册并在线
  6. 实时播放链路可用(VSS -> SkeyesMS -> 前端)
  7. 日志目录正常写入(logs/ 或挂载目录)

7. 升级与回滚

7.1 升级建议

  1. 备份:
    • MySQL 数据
    • 配置文件(env + etc/*.yaml
    • 关键目录(日志、证书、静态资源)
  2. 灰度验证:
    • 先在测试环境验证启动和播放链路
  3. 正式升级:
    • 先停业务服务,再升级二进制/镜像,再按启动顺序恢复

7.2 回滚建议

  • 保留上一个稳定版本二进制或镜像 tag
  • 保留对应 env 与配置快照
  • 回滚后优先验证:
    • 登录
    • 设备在线
    • 播放
    • 录像计划

8. 常见问题

  1. 设备注册失败:优先检查 SIP ID/域/密码与防火墙策略。
  2. 无法播放:确认 SkeyesMS 运行正常,VSS 通知地址可达。
  3. DB RPC 调用超时:检查 etcd 注册、Redis/MySQL 连接。
  4. 页面能开但接口报错:检查 Web Proxy 反向代理和 Backend API 监听地址。
  5. Docker 启动失败:检查 env 文件变量是否完整、宿主机端口是否被占用。