在树莓派上部署 Tachidesk Server
在树莓派上部署 Tachidesk Server & Suwayomi 插件体验
最近想在手机上看本子,但是想看的内容重达 8G ,即使处理成 webp ,压缩到了 600M ,但几千张也不是小数目,实在不太好放在手机上。突然想到自己尘封数个月的三手树莓派,于是拿出来搭建了个 WebDAV ,把本子传上去,这样就能舒服地躺在床上用手机看了。剩下的问题就是阅读器。手机上支持 WebDAV 的文件管理器普遍看图效果差,而 Tachiyomi 虽然看漫画好用却没有 WebDAV 源。现在发现 Tachidesk 通过 Suwayomi 插件可以作为 Tachiyomi 的图源,决定在树莓派上部署。
安装
Suwayomi/Tachidesk-Server: A rewrite of Tachiyomi for the Desktop
首先安装 makedeb
makedeb - A simplicity-focused packaging tool for Debian archives
1 | bash -ci "$(wget -qO - 'https://shlink.makedeb.org/install')" |
之后 makedeb -si
,这个过程需要下载一些东西,由于树莓派上没配置 clash ,所以用 export http_proxy=http://PC_IP:PORT
把 PC 上的代理加进来。
成功构建后已经自动安装了 deb ,直接输入 tachidesk
即可启动,默认端口 4567 ,可以通过浏览器访问。
本地源
Local Source · Suwayomi/Tachidesk-Server Wiki
本地源只能放在 ~/.local/share/Tachidesk/local/
下面,当然可以软连接。
漫画的目录结构和 Tachiyomi 本地源一致,都是需要一个漫画目录,下面是一系列章节目录。由于我的本子都只有单个章节目录,一开始直接把整个目录链接过去,那样所有本子变成了单个漫画的章节了,无法看到各个本子的封面,于是就写了个 shell 给每个本子都建立了漫画目录,里面再用软连接建立一个 Chapter1 章节目录链接到实际的本子目录,顺便把第一张图作为封面。
1 | TACHIDESK_LOCAL="$HOME/.local/share/Tachidesk/local" |
封面问题
一开始还没有用脚本创建封面,后来创建了,然而网页上无法显示,控制台显示一大堆 thumbnail does not exist
封面 thumbnail 目录居然都是从 db 取的,看起来可能如果在没有 thumbnail 的时候建立了 local source 的记录,那后续如果漫画的目录名没有变动就不会更新了。
所以 rm ~/.local/share/Tachidesk/database.mv.db
再重启,总算加载出了封面。
Suwayomi
体验了一下 Suwayomi (源码位置),发现不仅配置 url 要重启 app ,在远程书架上没东西的时候添加了东西再刷新也要。只能说继承了 Tachiyomi extensions 的优良传统。不过起码看漫画的效果是舒服了。
Suwayomi 只会读取书架上的内容,然而我们的本子都放在 local source …… 前端也没有任何批量选择加入书架的能力,只能一个个点开漫画加入书架。在 Tachiyomi 上看就更麻烦了,如果之前没添加到书架,只能用浏览器访问去加。目前暂时不想解决一键添加到书架的问题,毕竟也不是每一本都需要用到,要用的时候再加就好了。
总结
虽然问题不少但还是凑合用。
2023.12.30 更新
配置 systemd 服务
考虑到所处环境容易断电,因此 tachidesk 需要开机自启。本想用 init.d 启动一个 tmux ,后来发现 tachidesk 自带了 systemd 服务,不过也是需要经过一番配置才能正常使用。
由于原先的数据放在家目录,首先把默认的 tachidesk 用户改成自己的用户 pi 。
1 | sudo vim /lib/systemd/system/tachidesk-server.service |
这样还是没有读取用户目录下的数据,注意到启动命令行指定了工作目录。
1 | EnvironmentFile=/etc/tachidesk/server.conf |
在 /etc/tachidesk/server.conf
中,默认位置是 /var/lib/tachidesk
,我们改成自己的目录。
1 | sudo vim /etc/tachidesk/server.conf |
这样启动服务仍然会报错,提示无法创建 /home/pi ,原来是 systemd 的家目录保护。
Systemd ProtectHome & Allowing access to specific home directory - Unix & Linux Stack Exchange
解决方法是关掉保护,也就是把 /lib/systemd/system/tachidesk-server.service
的 ProtectHome 置空 (ProtectHome=
,默认是 full)
这样就能使用原先的数据目录了,修改目录的目的是方便 ssh 上传本子。