目录
BiliBiliToolPro Docker部署+Server酱推送
前言
- 第一次部署这个工具使用的是GitHub Action,推送使用的是ServerChan,成功运行过一段时间,但是后面不知道因为什么原因就运行失败了,ServerChan也不推送了,可能是因为版本迭代?当时也在忙其他事情所以也就搁置了,后面也就一直没理这个工具了
- 最近入坑docker,想起来这个工具可以部署到docker上,并且阿里云服务器也快过期了,遂再次尝试部署
BiliBiliToolPro
- BiliBiliTool 是一个开源软件:仓库地址
- BiliBiliTool 是一个自动执行任务的工具,开源按照预先定义的命令,在指定时间、按照指定频率,帮助我们自动完成计划的任务
- 详细部署方法以及其他部署方法请查看源仓库,本博客只记录自己用docker部署的一些配置过程
部署环境
-
Linux(Ubuntu)
-
docker的安装
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" && sudo apt-get update && sudo apt-get install -y docker-ce
设置用户权限,将当前用户添加到docker组里面
sudo usermod -a -G docker $USER
-
docker-compose的安装
sudo apt-get install -y python3-pip && sudo pip3 install setuptools && sudo pip3 install --upgrade pip && sudo pip3 install docker-compose
-
通过命令查看docker和docker-compose是否安装:
docker -v
,docker-compose -v
获取Cookie
- 浏览器打开并登录 bilibili 网站
- 登录成功后,访问 https://api.bilibili.com/x/web-interface/nav,按 F12 打开"开发者工具",按 F5 刷新一下
- 在"开发者工具"面板中,点击 网络(Network),在左侧的请求列表中,找到名称为 nav 的接口,点击它
- 依次查找 Headers ——> RequestHeader ——> cookie,可以看到很长一串以英文分号分隔的字符串,复制整个这个cookie字符串(不要使用右键复制,请使用 Ctrl+C 复制,部分浏览器右键可能会进行 UrlDecode ),保存它们到记事本,后面会用到
推送配置
- 我是用的是ServerChan,之前用的是方糖服务号,现在用的是自己的微信测试号,用哪种方式都可以,按照操作绑定微信后拿到
SendKey
,后面需要用到
生成容器并运行
本地创建文件
在本地任意文件夹下,创建一个目录 bilibili_tool
,在其下新建docker-compose.yml
文件和my_crontab
文件
mkdir bilibili_tool
&& cd bilibili_tool
&& touch docker-compose.yml
&& touch my_crontab
&& cd ..
文件结构如下:
bilibili_tool
├── docker-compose.yml
└── my_crontab
编辑文件内容,填入相关配置
docker-compose.yml
的文件内容拷贝 默认docker-compose.yml 内容。其中environment
下可以自由添加自定义配置,其中的Cookie
是必填的(Cookie失效后需要重新获取cookie),另外在最后填入ServerChan的SendKeymy_crontab
的文件内容拷贝 默认my_crontab 内容,注意末尾有个换行不要丢了
启动并运行容器
- 在当前目录(有docker-compose.yml的目录)执行启动容器命令:
docker-compose up -d
,提示成功的话,即表示容器启动成功,第一次构建会比较慢,后面就快了。 - 通过修改
my_crontab
中的cron表达式可以设置定时任务,修改后需要再次执行启动容器命令。默认会开启每日任务
和天选抽奖任务
,我自己只需要每日任务
,就把第二行给删了,下面是我的my_crontab
,表示每天06:27执行每日任务
参考链接
原文docker部署方法
docker-菜鸟教程
ubuntu安装docker-compose
cron表达式参数详细讲解