LANraragi 漫画服务器

序言

最近在研究家庭媒体库,教程大多以 NAS 为主机,实际上大多数软件都跑在 Docker 上。

现在有如下看漫画/同人志的需求:

  • 电脑上存有大量的漫画的压缩包,想要各种设备能访问这些资源。—— 服务端软件,能够以 HTTP 的方式传输图片。
  • 漫画的目录管理以我为主,而不能以服务端软件的规则为主。
  • 手机 / pad 浏览漫画时,操作方便易用。—— 客户端好用,或者直接提供 web 端。
  • 客户端有随机选择漫画功能。—— 收集的漫画太多了,出于消磨时间的目的,随便挑一本看最方便。

综上,我选择了 LANraragi。尽管 KomgaKavitaTachidesk (Sorayomi) 也都是开源的漫画服务器,但都不尽如人意。

这篇文章是对官方文档的一些摘录,以及我自己使用的一些心得。

LANraragi

LANraragi 提供很多功能,但我需要的不多:

功能 是否需要
本地上传漫画
网上下载漫画
添加元数据(主要是打 tag)

所有漫画都是我自己本地上传的。我只是要看漫画,不需要通过 tag 分类漫画。

安装

Docker compose:

1
2
3
4
5
6
7
8
9
10
11
12
13
version: "3"
services:
lanraragi:
image: difegue/lanraragi:v.0.9.0
container_name: lanraragi
ports:
- 43000:3000
volumes:
- /mnt/hgfs/doujinshiArchives:/home/koyomi/lanraragi/content:ro
- lanraragi-database:/home/koyomi/lanraragi/database

volumes:
lanraragi-database:
  • /home/koyomi/lanraragi/database 是 LANraragi 存放 Redis 数据的目录。创建一个 volume 即可
  • /home/koyomi/lanraragi/content 目录存放:
    • 所有漫画压缩包。LANraragi 可以递归地扫描子目录 —— 文件管理以我为主;
    • 漫画的缩略图,默认存放在 /home/koyomi/lanraragi/content/thumb 下;
  • 由于缩略图目录可以改,因此 content 实际只存放我自己的所有资源。我把权限设置为只读,直接映射主机存放漫画压缩包的目录。LANraragi 会自己检测文件变动,我只要像以前一样收集资源即可。

  • 用 Docker compose 是因为可以记录启动命令,方便之后复用。
  • Portainer 的 Stacks 就是存放 Docker-compose 文件的地方。修改 Docker-compose 后,Portainer 会重新部署,很方便。(本质上就是 down + up,但数据不会丢,因为存放在 volume 里面)

配置

第一次启动,admin 的密码是 kamimamita。登录后进入配置页面,

image-20240125195217045

首先提醒一下,改了配置不要忘记保存:

image-20240125200813922

先修改初始密码:

image-20240125195247264

其他配置如下:

Global Settings

image-20240125195357388

  • 分页数设置为 20,默认的 100 太多了。
  • 其实不太需要阅读记录功能,就把存储任务放在客户端了,节省服务器资源

Archive Files

不用改

image-20240125195541509

Tags and Thumbnails

image-20240125195742625

  • 重点是改缩略图目录。因为 docker 启动时的只读映射,以及默认的缩略图目录在 content 里。
  • 把两个关于 tag 的选项关掉

Background Workers

image-20240125200521462

这个是用来监听 content 目录中漫画资源变动的。如果没有及时处理新的资源,可以重启。

Plugin Configuration

image-20240125200854396

把这个关了,不需要

所有插件默认都是关闭的,问题不大。

使用

首次挂载自己的漫画资源到 content 时,LANraragi 需要大量资源处理元数据和缩略图。根据 Portainer 的监视数据,使用了 2-3GB 内存,2000% 的 CPU (不太懂这个 CPU 资源是怎么统计的)。

首页的功能:

  • 搜索;
  • 每次显示随机加载的漫画;
  • 列表模式 / 缩略图模式

阅读器配置:

1️⃣默认是分页模式

2️⃣我更喜欢垂直浏览模式:

image-20240125201748231

设备共享

Docker 运行在 Linux 虚拟机中,由于 Docker 端口映射,本机可以通过虚拟机的 IP 访问 LANraragi 。

虚拟机 NAT 穿透

如果要用其他设备访问 LANraragi,则需要通过 NAT 穿透将虚拟机的端口映射到主机的端口:

image-20240125202125135

image-20240125202155268

image-20240125202344077

如图配置,将 虚拟机的 43000 端口映射到主机的 43000 端口

本机防火墙

Windows 的防火墙默认会屏蔽该端口,配置新的规则即可:

image-20240125202513739

image-20240125202536458

image-20240125202641453

在入站规则里新建规则:给专用网络(家庭内网)开放 43000/tcp

之后手机就可以通过 电脑IP:43000 访问 LANraragi 了。

手机端 web 界面的首页不咋地,可以用官方推荐的客户端。但我只要随机阅读,所以问题不大,看漫画的界面好用就行了。

参考资料