docker + webhook 懶人部署B(yǎng)站錄播姬并自動(dòng)化B站投稿、百度云與阿里云上傳
# 2023/02/14 新增biliup支持,自動(dòng)化B站投稿。
# 2023/01/25 新增阿里云支持,沒有阿里云,請大家?guī)兔y試下。
# 2023/01/26?發(fā)現(xiàn)云盤cli的exit code不可靠,增加上傳結(jié)果檢查。
倉庫:https://github.com/puzzlemoondev/BililiveRecorder-webhook-docker

因 ec2 免費(fèi)硬盤太小而誕生。原理是用 docker 包裝 webhook 服務(wù)器及錄播姬(使用官方鏡像),并在接到文件關(guān)閉 webhook 時(shí)執(zhí)行上傳任務(wù)。 任務(wù)管理使用celery。

部署流程
1. 準(zhǔn)備一臺有 git 和 docker 的機(jī)器
2. git clone 并 cd 到專案
3. 創(chuàng)建 .env 文件并填入以下內(nèi)容
要上傳百度云請?zhí)峁?BDUSS 和 STOKEN ,參考:https://github.com/qjfoidnh/BaiduPCS-Go#登錄百度帳號
要上傳阿里云請?zhí)峁?RTOKEN ,參考:https://github.com/tickstep/aliyunpan#如何獲取RefreshToken
百度云和阿里云的的認(rèn)證都有的話會開兩個(gè)process同時(shí)上傳兩個(gè)平臺。
4. 啟動(dòng) docker 容器
5. 加入 webhook
訪問錄播姬(http://[遠(yuǎn)端ip或localhost]:2356)。并進(jìn)入錄播姬WebUI -> 設(shè)置,下拉到底找到Webhook V2,填入:
6. 開香檳
Biliup整合
將 config.yml 檔放到 biliup 文件夾,有封面也可以放到裡面。在 docker 容器裡的地址為 /etc/biliup。
示例見:https://biliup.github.io/biliup/Guide.html#完整配置文件示例
目前只支援 user 和 streamers 配置。
title和description支持主播、直播間標(biāo)題和strftime日期插值,詳見示例。
Config.yml
更新方法
細(xì)節(jié)
監(jiān)控
docker compose up 會部署 flower,訪問 http://[遠(yuǎn)端ip或localhost]:5555 可以監(jiān)控任務(wù)隊(duì)列。
supervisor web ui 訪問 http://[遠(yuǎn)端ip或localhost]:9001。
依賴
B站錄播姬:https://github.com/BililiveRecorder/BililiveRecorder
webhook:https://github.com/adnanh/webhook
BaiduPCS-Go:https://github.com/qjfoidnh/BaiduPCS-Go
aliyunpan:https://github.com/tickstep/aliyunpan
biliup: https://github.com/biliup/biliup
celery: https://github.com/celery/celery
flower: https://github.com/mher/flower