Sign inSign up

difyz9/ytb2bili

By difyz9

•Updated 4 months ago

Image
0

10K+

difyz9/ytb2bili repository overview

⁠5 分钟上手版

⁠第 1 步:准备环境

先确认机器上已经安装:

  • Docker
  • Docker Compose
⁠第 2 步:获取文件
git clone https://github.com/difyz9/ytb2bili-docker.git
cd ytb2bili-docker
docker compose up -d 
⁠第 3 步:先不改数据库,只改你需要的配置

默认情况下,[database] 配置已经和 docker-compose.yml 对齐,新手通常不用改。

如果你只是先验证服务能不能启动,至少保留下面这段:


# ytb2bili 配置文件示例(TOML格式)
# 复制此文件为 config.toml 并根据实际情况修改
# 注意:环境变量会覆盖此文件中的配置

# ============================================================================
# 应用基础配置
# ============================================================================

[server]
host = "0.0.0.0"           # 服务监听地址,0.0.0.0 表示监听所有网卡
port = 8096                # 服务端口
static_dir = "./downloads" # 静态文件目录(视频、字幕等)
static_path = "/static"    # 静态文件访问路径前缀

[auth]
jwt_secret = "change-this-local-jwt-secret"
access_token_ttl = 7200
refresh_token_ttl = 604800

# 预定义登录账号
# 请自定义的账号/密码
[[auth.users]]
email = "[email protected]"
password = "admin123"


# 不要修改
[api_auth]
enabled = false
app_id = "ytb2bili_extension"
app_secret = "ytb2bili_secret_2026"
cookies_decrypt_key = "59e7052041ce4bd6aff82f6a0bca9cde"


# ============================================================================
# 数据库配置
# ============================================================================
[database]
type = "mysql"
host = "mysql"                 # Docker Compose 服务名
port = 3306
user = "ytb2bili"              # 与 docker-compose.yml 一致
password = "ytb2bili@123"
dbname = "bili_up"             # 数据库名(注意是 dbname 不是 database)
sslmode = ""                   # MySQL 不使用(仅 PostgreSQL 需要)
timezone = "Asia/Shanghai"     # 时区配置
auto_migrate = true
table_prefix = ""



# ============================================================================
# 视频处理工作流配置
# ============================================================================
[workflow]
download_dir = "./downloads"  # 视频下载目录(必需,应与 server.static_dir 保持一致)

# yt-dlp 可执行文件路径(可选,默认从 PATH 查找)
ytdlp_path = "/usr/local/bin/yt-dlp"

# ffmpeg 可执行文件路径(可选,默认从 PATH 查找)
ffmpeg_path = "/usr/bin/ffmpeg"

# 水印字体文件路径(可选;用于非会员水印 drawtext fontfile)
watermark_font_file = "/app/fonts/watermark.ttf"


[llm]
provider = "deepseek"              # 服务商: openai, deepseek, ollama, qwen, zhipu, groq, custom
base_url = "https://api.deepseek.com"  # API 端点地址(OpenAI 兼容接口)
api_key = "sk-xxxx"
models = ["deepseek-v4-flash", "deepseek-chat", "deepseek-reasoner"] # 前端可选模型列表
temperature = 0.7                # 温度参数 (0.0-2.0)
max_tokens = 24096                # 每次请求最大 token 数
timeout = 300                    # 请求超时(秒)





# ============================================================================
# Azure TTS 语音合成配置(用户自行配置)
# ============================================================================
[azure_tts]
subscription_key = ""            # Azure Speech Services 订阅密钥
region = ""              # Azure 区域


如果你的网络访问 YouTube 需要代理,再补一行:

[workflow]
proxy_url = "http://127.0.0.1:7890"
⁠第 4 步:启动
docker compose up -d
docker compose logs -f

看到服务正常启动后,打开:http://localhost:8096

⁠第 5 步:开始使用
  1. 进入后台
  2. 用 B 站 App 扫码登录
  3. 安装chrome 插件:https://github.com/difyz9/ytb2bili_extension⁠
  4. 在油管视频播放器上会有一个箭头↗,点击即可提交视频链接到后台
  5. 等待系统自动下载、处理并上传
⁠第 6 步:常用命令
docker compose ps
docker compose restart
docker compose down

⁠适用场景

  • 想在本地电脑、云服务器或 NAS 上运行 ytb2bili
  • 希望通过 Docker 一键启动,不手动安装 MySQL、ffmpeg、yt-dlp
  • 需要一个可持久化、可升级的部署方式

支持平台:linux/amd64、linux/arm64,包括常见 Linux 服务器、Apple Silicon Mac、树莓派等。

Tag summary

Content type

Image

Digest

sha256:09ad72612…

Size

406.7 MB

Last updated

4 months ago

docker pull difyz9/ytb2bili