洛星瓷直播转盘
运行前复制带注释的 config.toml.example 为 config.toml,填入 CookieCloud、业务数据库、歌单只读数据库和访问密钥,然后执行:
cp config.toml.example config.toml
docker compose up --build -d
应用配置遵循 blivedm_rs 的 TOML/--config 形式;Compose 会以只读方式将 config.toml 挂载到容器并传入 --config /app/config.toml。旧 .env/.env.example 不再被读取;迁移确认后可删除原 .env。配置段及字段说明直接写在 config.toml.example 的注释中。
- 管理台:
http://127.0.0.1:9719/admin - 测试页:
http://127.0.0.1:9719/test - OBS:
http://127.0.0.1:9719/obs?token=$OBS_ACCESS_TOKEN
应用容器使用 host 网络并监听 9719。它通过宿主机 127.0.0.1:5432 直连 PostgreSQL:转盘业务使用独立的 wheel 数据库,歌单读取使用现有 lxc_songlist 数据库。应用会自动创建转盘业务表;[connection].room_id、CookieCloud Key/UUID 与密码均为必填配置。
BILI_REPLY_ENABLED=true 可启用聊天回复;发送前会从 CookieCloud 读取最新的 Bilibili Cookie,并从其中取得 bili_jct CSRF 值。若 Cookie 未同步 bili_jct,转盘仍会正常在 OBS 展示,只会停用聊天回复。
服务端已迁移为 Rust/Axum,并使用 blivedm_rs 发布的 blivedm crate 建立 Bilibili 认证弹幕连接;不再使用 Node 服务端或 @laplace.live/ws。为确保 UID、礼物价格和上游事件 ID 不会被库的简化消息结构丢弃,项目在 vendor/blivedm 固定了一个仅保留原始 JSON 的小补丁。应用从 CookieCloud 获取 Bilibili Cookie(必须包含 SESSDATA),用于获取认证 UID、直播间网关与 WebSocket 鉴权包。