proper productionize project
This commit is contained in:
+58
-22
@@ -1,56 +1,92 @@
|
||||
# 洛星瓷直播弹幕姬配置。
|
||||
# 洛星瓷多用户直播组件服务配置。
|
||||
#
|
||||
# 使用方式:复制为 config.toml 后填写所有 replace-with-* 项;该文件包含
|
||||
# CookieCloud、数据库和访问令牌等敏感信息,请不要提交或公开分享。
|
||||
# 使用方式:复制为 config.toml 后填写所有 replace-with-* 项。这个文件
|
||||
# 包含首次迁移所需的 CookieCloud、bootstrap proof 和旧 OBS 令牌,请不要
|
||||
# 提交或公开分享。多用户运行数据在初始化后保存在 PostgreSQL 中。
|
||||
# Docker Compose 会将它以只读方式挂载到容器的 /app/config.toml。
|
||||
|
||||
# 与 blivedm_rs 一致的连接配置段。实际 Bilibili Cookie 不写在这里,
|
||||
# 服务会通过下方 [cookiecloud] 在运行时获取最新 Cookie。
|
||||
# 旧单用户配置兼容段:room_id 只在数据库没有任何账户时,绑定给首次
|
||||
# 创建的 system_admin,并且此后不可修改。后续账号的 room_id 由系统
|
||||
# 管理员创建邀请码时指定,不读取此字段。
|
||||
# 实际 Bilibili Cookie 不直接写在配置中,而是通过 CookieCloud 获取。
|
||||
[connection]
|
||||
room_id = "000000"
|
||||
room_id = "123456" # 替换为首个系统管理员的真实直播间 ID;不能以 0 开头。
|
||||
# cookies = "SESSDATA=..." # 不需要;由 CookieCloud 托管。
|
||||
|
||||
# HTTP、WebSocket 及静态前端监听端口。host 网络模式下为宿主机端口。
|
||||
# HTTP、WebSocket 及静态前端监听地址。host 网络模式下只绑定
|
||||
# 127.0.0.1,让同机 Nginx 代理,不要将应用端口直接暴露到公网。
|
||||
[server]
|
||||
bind_address = "127.0.0.1"
|
||||
port = 9719
|
||||
|
||||
# 弹幕姬设置数据库。此账号必须可创建和修改 overlay_settings 表。
|
||||
# 多用户数据库。保存账户、邀请码、TOTP 注册状态、会话、恢复码摘要、
|
||||
# 加密 CookieCloud 凭据、直播源、组件/设置、OBS token 摘要和审计日志。
|
||||
# 数据库账号必须能执行项目迁移;租户表会启用 RLS。
|
||||
[database]
|
||||
url = "postgresql://streamutils:replace-with-database-password@127.0.0.1:5432/streamutils?sslmode=disable"
|
||||
|
||||
# 外部部署的 CookieCloud 实例。key 是同步 UUID;password 是同步密码。
|
||||
# 旧单用户配置兼容段:只在首次 system_admin 初始化时导入到该账户,
|
||||
# 随后 Key 和密码会使用 security.data_encryption_key 加密存入 PostgreSQL。
|
||||
# 受邀用户在自己的 /control 页面填写各自的 CookieCloud;不同账户不会
|
||||
# 共用凭据。迁移完成后修改此段不会覆盖数据库中的凭据。
|
||||
# key 是 CookieCloud 同步 UUID;password 是同步密码。
|
||||
[cookiecloud]
|
||||
host = "http://127.0.0.1:8088"
|
||||
key = "replace-with-cookiecloud-uuid"
|
||||
password = "replace-with-cookiecloud-password"
|
||||
|
||||
# 管理台登录密码和用于签发 HTTP-only 会话 Cookie 的随机密钥。
|
||||
# session_secret 建议至少 32 个随机字符。
|
||||
# password 是一次性 bootstrap proof,只能在数据库尚无账户时授权创建
|
||||
# 第一个 system_admin。它不会成为账户密码,也不能用于日常登录。
|
||||
# 所有账户都是 passwordless:以后使用 username + TOTP(或恢复码)登录。
|
||||
# session_secret 是旧配置兼容字段,目前仍为必填;填写了下方独立的数据
|
||||
# 加密密钥后,它不用于签发数据库会话。两个值都应使用独立随机内容。
|
||||
[admin]
|
||||
password = "replace-with-a-long-admin-password"
|
||||
password = "replace-with-a-one-time-bootstrap-secret"
|
||||
session_secret = "replace-with-at-least-32-random-characters"
|
||||
|
||||
# OBS 页面只读订阅令牌;浏览器源 URL 为 /obs?token=<access_token>。
|
||||
# 多用户身份安全配置。用 `openssl rand -base64 32` 生成独立的 32 字节
|
||||
# Base64 密钥。它使用 XChaCha20-Poly1305 加密 TOTP Secret 和各用户的
|
||||
# CookieCloud Key/密码;遗失或更换后无法恢复已有密文,请安全备份。
|
||||
[security]
|
||||
data_encryption_key = "replace-with-32-random-bytes-in-base64"
|
||||
# TOTP 验证器中显示的 issuer;上线后不建议随意更改。
|
||||
totp_issuer = "danmaku.luoxingci.com"
|
||||
# 登录会话、二维码绑定流程和普通邀请码的默认有效期。
|
||||
session_ttl_hours = 12
|
||||
registration_ttl_minutes = 15
|
||||
invitation_ttl_hours = 72
|
||||
# 公开站点必须由 Nginx/可信反代提供 HTTPS,并保持此项为 true。
|
||||
# 只有本机、无敏感数据的纯 HTTP 调试才能临时设为 false。
|
||||
secure_cookies = true
|
||||
# 用户只能配置此白名单中的 CookieCloud 基础地址,防止任意服务端
|
||||
# 请求。必须包含上方 cookiecloud.host;可填多个管理员批准的实例。
|
||||
cookiecloud_allowed_hosts = ["http://127.0.0.1:8088"]
|
||||
|
||||
# 旧 OBS token 兼容段:只导入首个 system_admin 的默认弹幕组件一次。
|
||||
# 新组件通过控制台生成独立、可撤销且只存摘要的 token,地址格式为:
|
||||
# /obs/<publicId>#token=<component-token>
|
||||
# 没有需要迁移的旧 OBS 浏览器源时可设为空字符串。
|
||||
[obs]
|
||||
access_token = "replace-with-a-long-random-obs-token"
|
||||
|
||||
# Bilibili 礼物目录缓存。启动时会立即加载,之后按此间隔刷新;
|
||||
# 请求失败会继续使用上一次成功结果。刷新间隔最小 60 秒。
|
||||
# 各活动直播源的 Bilibili 礼物目录缓存。启动时立即加载,之后按此
|
||||
# 间隔刷新;失败时保留上一次成功结果。刷新间隔最小 60 秒。
|
||||
[gifts]
|
||||
refresh_interval_seconds = 600
|
||||
request_timeout_seconds = 10
|
||||
|
||||
# Bilibili 直播间表情目录缓存。接口使用 CookieCloud 中的 SESSDATA;
|
||||
# 实时消息自带的表情图片始终优先,目录仅用于补齐缺失的图片地址。
|
||||
# 各用户 Bilibili 直播间表情目录缓存。接口使用该用户加密保存的
|
||||
# CookieCloud/SESSDATA;消息自带图片始终优先,目录仅补齐缺失地址。
|
||||
[emoticons]
|
||||
refresh_interval_seconds = 600
|
||||
request_timeout_seconds = 10
|
||||
|
||||
# OBS 弹幕姬的初始设置。仅当该直播间尚未通过 /control 保存过设置时使用;
|
||||
# 一旦控制台保存,PostgreSQL 中的设置优先。价格阈值单位为千分之一元,
|
||||
# 因此 10000 = 10 元、100000 = 100 元。
|
||||
# 旧弹幕姬初始设置兼容段:只在首次 system_admin 初始化时,作为其默认
|
||||
# danmaku_overlay 的旧数据迁移/回退值。其他受邀用户使用组件内建默认值;
|
||||
# 所有用户之后都在 /control 按组件修改,PostgreSQL 设置始终优先。
|
||||
# 迁移后修改这里不会覆盖任何已有组件。价格单位为千分之一元,因此
|
||||
# 10000 = 10 元、100000 = 100 元。
|
||||
[overlay]
|
||||
title = "洛星瓷专用弹幕猪!"
|
||||
# 全局字号百分比,可在管理控制台中实时调整;允许范围 50-300。
|
||||
font_scale = 140
|
||||
max_visible = 5
|
||||
@@ -66,7 +102,7 @@ low_performance_mode = false
|
||||
high_value_threshold = 10000
|
||||
featured_value_threshold = 100000
|
||||
|
||||
# 初始显示的事件类别,同样可在 /control 中随时修改并实时同步到 OBS。
|
||||
# 首个旧组件迁移时显示的事件类别;之后在 /control 中按组件修改。
|
||||
[overlay.events]
|
||||
danmaku = true
|
||||
enter = true
|
||||
|
||||
Reference in New Issue
Block a user