LiveChat 网页聊天系统:基于 Node.js 的轻量网页聊天室,支持历史消息、在线人数、断线重连、管理员禁言/删消息,以及 SRS 推流鉴权回调与可选直播播放器。
  • JavaScript 69.4%
  • CSS 17.5%
  • HTML 6.8%
  • Shell 5.4%
  • Dockerfile 0.9%
Find a file
z1HwanG 2d4f6c0962 feat: 一键部署 compose + bridge 网络 + PostgreSQL 驱动 + admin 在线列表/踢人/操作日志 + 控件优化
改动清单:
- docker-compose.yml: web + SRS 编排,bridge 网络,可配置端口(默认标准 1935/1985/8080/8000)
- srs/srs.conf: 新增 SRS 配置(compose 挂载,on_publish 回调 web:3010)
- web/db.js: mysql2 → pg 驱动,PostgreSQL 方言,幂等建表
- web/public/js/admin.js: 重写管理面板,在线用户列表 + 踢人/禁言/解禁
- web/public/js/chat.js: 处理 online_list/adminlog 消息类型
- web/public/js/player.js: 播放控件从视频内移到下方控制条
- web/public/index.html: 控件布局重构 + 管理面板新增在线列表/分钟数控件
- web/public/css/style.css: stage-bar 布局 + 管理员面板样式 + 移动端适配
- docs/DEPLOY.md: 更新为 bridge 网络架构文档
- .env.example: PostgreSQL 连接 + SRS 标准端口
- scripts/init-db.sql: PostgreSQL 版初始化脚本
2026-09-07 11:26:32 -04:00
docs feat: 一键部署 compose + bridge 网络 + PostgreSQL 驱动 + admin 在线列表/踢人/操作日志 + 控件优化 2026-09-07 11:26:32 -04:00
scripts feat: 一键部署 compose + bridge 网络 + PostgreSQL 驱动 + admin 在线列表/踢人/操作日志 + 控件优化 2026-09-07 11:26:32 -04:00
srs feat: 一键部署 compose + bridge 网络 + PostgreSQL 驱动 + admin 在线列表/踢人/操作日志 + 控件优化 2026-09-07 11:26:32 -04:00
web feat: 一键部署 compose + bridge 网络 + PostgreSQL 驱动 + admin 在线列表/踢人/操作日志 + 控件优化 2026-09-07 11:26:32 -04:00
.env.example feat: 一键部署 compose + bridge 网络 + PostgreSQL 驱动 + admin 在线列表/踢人/操作日志 + 控件优化 2026-09-07 11:26:32 -04:00
.gitignore Initial commit: LiveChat web chat system 2026-08-30 20:06:42 -04:00
docker-compose.yml feat: 一键部署 compose + bridge 网络 + PostgreSQL 驱动 + admin 在线列表/踢人/操作日志 + 控件优化 2026-09-07 11:26:32 -04:00
README.md feat: 一键部署 compose + bridge 网络 + PostgreSQL 驱动 + admin 在线列表/踢人/操作日志 + 控件优化 2026-09-07 11:26:32 -04:00

LiveChat 网页聊天 + SRS 直播系统

基于 Node.js 的轻量网页聊天室 + SRS6 直播服务,支持历史消息、在线人数、断线重连、管理员禁言/删消息/踢人、推流鉴权、WebRTC/FLV/HLS 多模式播放。

架构

[浏览器] --HTTPS(443)--> Nginx/Caddy/OpenResty 反代
                           ├── LiveChat Web :3010页面/聊天/API/推流鉴权)
                           ├── SRS6 直播 :1935/8080/8000RTMP 推流 + FLV/HLS/WebRTC 播放)
                           └── PostgreSQL :5432聊天历史持久化可连线上已有库

web 与 srs 通过 docker compose bridge 网络互通,docker compose up 一键拉起完整系统。

目录结构

├── docker-compose.yml      # 一键部署编排web + srsbridge 网络,连接线上 PostgreSQL
├── .env.example            # 环境变量模板DB/PUSH_TOKEN/管理员口令/SRS 端口等)
├── web/                    # Node.js 服务:页面 + 聊天 WS + API + SRS 鉴权
│   └── public/             # 前端:聊天 + 管理 + 播放器
├── srs/                    # SRS 6 配置compose 挂载on_publish 回调 web 服务名)
├── scripts/
│   ├── deploy.sh           # 通用 Linux 一键部署脚本
│   └── init-db.sql         # 数据库初始化PostgreSQL 版)
└── docs/
    └── DEPLOY.md           # 部署文档(含反向代理与 SSL 说明)

功能

  • 文字聊天昵称、历史消息、在线人数、断线重连、XSS 防护、发送限速
  • 管理员:口令登录后,在线用户列表(昵称+IP直接踢人/禁言/解禁/删消息,操作记录广播
  • 推流鉴权SRS on_publish 回调 compose 内 web:3010,防陌生人顶流
  • 直播播放器WebRTC超低延迟/ FLV低延迟/ HLS高兼容自适应播放

快速开始

cp .env.example .env   # 填 DB 连接、PUSH_TOKEN、ADMIN_PASSWORD、SRS_CANDIDATE
docker compose up -d --build

详见 docs/DEPLOY.md