A simple & powerful danmaku framework.
中文 | English
Comment9 是一个开源、简单易用、易于扩展的实时弹幕服务框架。
我们使用 Comment9 部署了一个测试活动,提供弹幕墙、弹幕列表墙、弹幕视频播放器、弹幕网页发送器与 Telegram 机器人 @comment9_bot 进行测试,可能需要自行发送弹幕来查看效果。
也可以直接访问弹幕墙、弹幕列表墙和弹幕视频播放器的测试页面查看弹幕较多时的效果。
下面是 Comment9 的 Web 后台管理系统截图

wget https://raw.githubusercontent.com/prnake/Comment9/master/docker-compose.yml
该部署方式只需要将 docker-compose.yml 中 environment 部分的 HOST 字段 https://comment.pka.moe 修改为实际的部署域名,更多配置项请看 #配置。
url="实际部署域名"
sed -i '' "s/https:\/\/comment.pka.moe/${url}/g" docker-compose.yml
创建 volume 持久化 MongoDB 缓存
docker volume create comment9-mongo-data
启动
docker-compose up -d
删除旧容器
docker-compose down
如果之前已经下载 / 使用过镜像,下方命令可以帮助你获取最新版本
docker pull prnake/comment9
然后重复安装步骤
修改下方命令中的环境变量并运行,对配置项的解释请看 #配置
docker run -it --name comment9 -p 3000:3000 \
-e "HOST=" \
-e "BASE_URL=" \
-e "INVITE_CODE=" \
-e "REDIS_HOST=" \
-e "REDIS_PORT=" \
-e "MONGO_HOST=" \
-e "MONGO_DATABASE=" \
prnake/comment9:latest
该部署方式需要额外配置 MongoDB 与 Redis 服务,如有需要请改用 Docker Compose 部署方式或自行部署外部依赖。
建议在 Node.js 版本不低于 12 的环境下使用 yarn 安装,如果没有 MongoDB 与 Redis 服务,可以使用 Docker 启动。
docker run -d --name mongo -p 27017:27017 mongo
docker run -d --name redis -p 6379:6379 redis
拉取源码
git clone https://github.com/prnake/Comment9
cd Comment9
在项目根目录新建一个 .env 文件,每行以 NAME=VALUE 格式添加环境变量,例如填入部署域名
HOST="实际部署域名"
如果使用了自己的 MongoDB 与 Redis 服务则还需要额外配置,具体配置项请看 #配置
构建前端
yarn
yarn build
启动
yarn start
或使用 PM2 启动
pm2 start
通过设置环境变量来配置 Comment9,可以在项目根目录新建一个 .env 文件,每行以 NAME=VALUE 格式添加环境变量
| 环境变量 | 默认值 | 说明 |
|---|---|---|
| PORT | 3000 | 运行端口 |
| HOST | http://localhost:3000 | 部署域名 |
| BASE_URL | 部署子路径,例如 "/comment" | |
| INVITE_CODE | 注册时要求输入,用于限制注册 | |
| MONGO_USERNAME | null | mongodb 配置 |
| MONGO_PASSWORD | null | mongodb 配置 |
| MONGO_HOST | 127.0.0.1 | mongodb 配置 |
| MONGO_PORT | 27017 | mongodb 配置 |
| MONGO_DATABASE | Comment9 | mongodb 配置 |
| REDIS_HOST | redis 配置 | |
| REDIS_PORT | redis 配置 | |
| REDIS_PASSWORD | redis 配置 | |
| SECRET | Danmaku | express session 密钥 |
还可以阅读 config.js 文件查看可配置的环境变量
这里使用 blivedm 实现对B站直播弹幕的收集,通过 python-socketio 发送到 Comment9 服务器,详情查看 scripts/example/bilibili 文件夹。
python-socketio 等模块无法正常工作见 开发
Content type
Image
Digest
sha256:2e9ed818b…
Size
70.8 MB
Last updated
over 3 years ago
docker pull prnake/comment9