部署与文档

给学校 IT 看的那一页:要什么环境、怎么装、怎么管。

系统要求

角色要求
学员(网页)Chrome / Edge 90+、Safari 15+;必须是 HTTPS,浏览器只在安全上下文下开放摄像头麦克风
老师(客户端)Windows 10+ 或 macOS 11+;屏幕共享与远程协助需要客户端
手机Android 8.0+ / iOS 15+
服务端Linux x86_64,2 核 4G 起(一间 50 人教室);PostgreSQL 16;需一个域名与证书

私有化部署

整套是一个 Go 单二进制加一个 PostgreSQL,不依赖 Kubernetes 也不需要专门的媒体服务器 —— 音视频转发(SFU)编在服务端里。TLS 由前面的 nginx 终止。

管理后台

浏览器访问 /app/ 用管理员账号进入,四块:运行监控(在线人数、活动房间、操作日志)、 房间管理(房间号、容量、默认权限、主持人)、用户管理(账号、等级与默认权限)、录像管理。

常见问题

为什么必须 HTTPS?浏览器只在安全上下文下开放摄像头与麦克风。用 HTTP 部署的表现是「界面正常但开不了摄像头」,看不出是协议问题。
macOS 提示「无法验证开发者」怎么办?把应用拖到「应用程序」后,按住 Control 键点它的图标 → 选「打开」→ 在弹窗里再点一次「打开」,之后就能正常双击了。原因是我们没有 Apple 付费开发者账号做公证。
若提示的是「已损坏,应移到废纸篓」,说明你下的是 8 月 30 日之前的旧包(那一版签名不自洽),重新下载即可。
一台服务器能开多少间课?取决于带宽而非 CPU。每路视频约 1–2Mbps,50 人一间课上行约 2Mbps、下行随人数增长。
学员没装客户端能上课吗?能,网页版功能与客户端一致,只有屏幕共享与远程协助是客户端专属。
支持微信小程序吗?还没有。小程序的音视频要单独的媒体网关,在规划里。