Files
91/backend/config.example.yaml
T
2026-05-28 18:41:40 +08:00

73 lines
2.9 KiB
YAML

# backend 配置示例。首次启动若未发现 config.yaml,会基于此文件自动创建。
server:
# 本地开发默认配合 vite.config.ts 的代理端口。
listen: "127.0.0.1:9192"
# 管理后台用户。保留默认值时,首次访问登录页会要求设置新用户名和密码,
# 并写回 backend/config.yaml。
admin:
username: "admin"
password: "admin123"
# 用于签发 admin session cookie,生产请改成随机字符串
session_secret: "change-me-to-a-random-string"
# CORS 白名单:允许跨源访问的前端 Origin 列表。默认空 = 不允许任何跨源请求。
# 同源部署(前后端在同一域名 + 端口下,由 nginx 反代)不需要配此项。
# 仅在前后端分别部署在不同域名/端口、且需要前端 fetch 后端时填写。
# 不要写 "*";带 cookie 的 CORS 必须列具体 Origin。
# 示例:
# allowed_origins:
# - "https://video.example.com"
# - "http://127.0.0.1:9191"
allowed_origins: []
storage:
# SQLite 数据库文件路径
db_path: "./data/video-site.db"
# 本地 teaser 和封面目录
local_preview_dir: "./data/previews"
scanner:
# 已废弃:旧版的"每天 02:00-07:00 按 IntervalSeconds 间隔重复扫盘"已被移除。
# 现在所有定时任务统一由 nightly 块控制(每天 01:00 跑一条完整流水线)。
# 字段保留仅为兼容旧 yaml,运行时被忽略。
interval_seconds: 0
# 单次扫描每家网盘目录递归层数上限
max_depth: 5
# 被扫描的扩展名
video_extensions: [".mp4", ".mkv", ".mov", ".webm", ".avi"]
nightly:
# 凌晨流水线触发整点(0-23),默认 1 即每天 01:00。流程:
# Phase 1 扫所有非 spider91 / 非 localupload 网盘 → 检测新增 / 删除
# → 入队封面和 teaser → 等所有队列 idle
# Phase 2 spider91 爬虫(如配置)→ 入队 teaser → 等队列 idle
# Phase 3 spider91 → 云盘迁移(一次性 sweep)
cron_hour: 1
# 单次流水线总耗时上限(软超时);超过后当前 phase 跑完不启动后续 phase。
max_duration: 6h
preview:
# 是否启用 ffmpeg 抽帧生成 teaser
enabled: true
# ffmpeg / ffprobe 可执行文件名或绝对路径
ffmpeg_path: "ffmpeg"
ffprobe_path: "ffprobe"
# teaser 每段时长(秒),实际生成时每段最多 3 秒
duration_seconds: 3
# 兼容旧配置;当前 30 秒以下最多 3 段,30 秒及以上固定 4 段
segments: 3
# teaser 视频宽度
width: 480
# 盘列表。上线后请通过管理后台添加,本文件可留空。
# kind 支持 quark / p115 / pikpak / wopan / onedrive。
# OneDrive 示例:
# - id: "my-onedrive"
# kind: "onedrive"
# name: "我的 OneDrive"
# root_id: "root"
# params:
# refresh_token: "..."
# api_url_address: "https://api.oplist.org/onedrive/renewapi"
# region: "global"
drives: []