前言
最近很迷少女乐队,之前沉迷了半年的邦邦和mygo,最近又被Girls Band Cry所捕获,甚至为此打破了自己不看未完结动画的原则。
仁菜是复杂的矛盾集合体,但只是不想违背自己的本心而已,实在很可爱。
言归正传,要优雅地追动画,在盗版网站是很没意思的,体验很差。所以打算自己搭一个。
主要架构很简单:AutoBangumi + Qbit + Plex。
AB通过解析RSS将种子交给qbit下载,然后对下载完的文件做刮削,再交给Plex作为流媒体平台。
主要参考:
AutoBangumi官方文档,有对大部分配置参数的详细说明
一切环境的根本:docker
关键是docker-compose.yml的配置文件:
1 | version: '3.9' |
注意:
- qbit的内存资源限制是因为服务器内存太少做的,如果性能无忧可以去掉
- plex的
PLEX_CLAIM
很重要,如果不加这个参数会导致plex把你的服务认为是客户端,具体值获取是需要先去官网注册,然后登录(是为了存cookie),再访问这个链接即可得到。 - qbit对应的目录需要有下载权限,需要给对应目录./bangumi赋予权限:
chmod 777 ./bangumi
然后就是基本的docker使用了,拉取镜像并跑起容器:
1 | docker compose up -d |
然后看下运行状况:
1 | docker ps |
AutoBangumi和Qbit都有网页图形化界面可以操作,AB默认账户密码是:admin和adminadmin。
但Qbit是随机生成的密码,需要用下面的命令从日志查看:
1 | docker logs qb |
注意每次重启docker都会更新,所以最好不要经常重启,因为AB对应的配置也要改。
标准步骤之外
AutoBangumi
添加RSS有两种选项:collect和subscribe,前者会把RSS中现有的全部下载,后者会监听RSS更新。
番组下载选项里有关番剧补全
参数,也可以将之前更新的集数下载,但我试了下还是用的mikani.me那个被墙的域名,所以需要挂代理才能下,不如手动下下来方便。
另外:手动下的要想让AB刮削,只需要在qb里选择类别为bangumi,再移动到指定目录即可。
Qbit
对于性能堪忧的小主机,Qbit有个有点坑的默认选项,就是磁盘缓存
:
默认是512M,但我的主机只有1G内存,除去操作系统占用之后,已经不到这个数了。所以在内存占用到达系统限额时,系统会将Qbit进程kill以避免崩溃,而Docker默认会在异常终止后重启Container,导致Qbit这个容器无限重启,甚至SSH都连不上。我试了几次,一直盯着htop的资源管理器才发现这个问题。
解决也很简单,直接改小即可。还有一种办法就是将硬盘分配给内存,让操作系统将部分内存占用移到这块硬盘区域中进行,Linux中一般使用swap分配空间实现,具体参加这篇博文。(另外,其实效果并不好,系统调度时仍然会在大部分操作时使用内存而不是swap)
Plex
更换账户时,记得清除网页缓存。
Others
重启时莫名其妙把系统搞坏了:
1 | (anon):253: 只读文件系统: /tmp/p10k-instant-prompt-output-root-26831 |
再重启始终显示这个报错,docker也跑不了,甚至DNS都解析不了,配置也都是Read Only修改不了。
查了半天用kill对应挂载目录的进程解决了:
1 | df -h |
kill进程:
1 | fuser -mv -k /dev/vda1 |
好吧,结果还是没解决。。
update:万万没想到,最后还是解决了,原来是apt报错的问题而已。