现代电子书图书馆管理和阅读器Librum
Librum 在 23 年 9 月刚出来的时候老苏就关注了,那个时候还没有 docker 版本。后来是在大家的要求下官方才开始支持的 ,但是可能因为作者不熟悉 docker,因此大家在采用 docker 自托管安装时,一直磕磕绊绊的。
老苏遇到的是数据库问题,开始连不上,后来连上了又缺表,再后来是注册失败,反正是一大堆的问题。
偶然逛官方的 Issues,发现有人写了个一个 MariaDB 的 SQL 脚本,老苏测试一下,发现之前的问题都解决了。
上网查了一下,尚未有 Librum 自托管的文章,估计大家和老苏一样,所以便有了下文
简介
什么是 Librum ?
Librum是一款旨在简化阅读体验的电子书管理应用程序。它允许用户创建和管理个人在线图书馆,支持多种设备访问。Librum支持自托管,主要目的是确保用户数据和书籍不与官方云同步,从而增强数据主权和隐私保护。这种自托管方式为用户提供了一种灵活且安全的方式来管理他们的电子书库和阅读体验。Librum不仅仅是一个电子书阅读器,还具有笔记记录、AI工具和突出显示等功能,同时提供自定义功能,使其尽可能个性化!
主要特点:
- 个性化在线图书馆:用户可以随时随地访问自己的图书馆,轻松管理书籍。
- 超过 70,000 本书籍:
Librum提供免费访问大量书籍,丰富用户的阅读选择。 - 简洁界面:提供简单直观的用户界面,专注于阅读。
- 精细组织:支持标签、分类和书籍排序,用户可以根据自己的喜好组织库藏。
- 人工智能集成:通过
AI功能,用户可以快速获取书籍内容的解释和摘要。 - 完全可定制:允许用户根据自己的需求定制应用外观和功能。
- 开源与免费:
Librum是一个开源项目,用户可以自由访问源代码,并参与开发。

总的来说,Librum 不仅是一个电子书阅读器,更是一个全面的图书管理工具,旨在提高用户的阅读效率和体验。
安装
在群晖上以 Docker 方式安装。
涉及两个容器,采用 docker-compose 安装会比较简便
librum_mariadb.sql
这个文件来自官方的 Issues 39:https://github.com/Librum-Reader/Librum-Server/issues/39
源文件下载地址:https://github.com/user-attachments/files/17483269/librum_mariadb.txt
下载后,需要将扩展名从 txt 改为 sql,并将其放入 initdb 目录中

docker-compose.yml
将下面的内容保存为 docker-compose.yml 文件,本文件在官方的基础上做了必要的调整
例如:
- 增加了卷映射
- ./initdb:/docker-entrypoint-initdb.d,用于初始化数据库; - 删除了
SMTP开始的几个用不上的环境变量; AdminEmail和AdminPassword是无用的,但是如果不设置会报错;
1 | version: "3.8" |
librum的环境变量说明
这些环境变量用于配置 Librum 服务器的运行环境,确保服务器能够正确连接到数据库、处理身份验证和发送邮件等功能。
| 环境变量 | 说明 |
|---|---|
JWTValidIssuer |
用于设置 JWT(JSON Web Token)的有效发行者。可以根据需要自定义,默认值为 exampleIssuer。 |
JWTKey |
用于设置 JWT 的密钥,确保安全性。可根据需要自定义,默认值为 exampleOfALongSecretToken。 |
SMTPEndpoint |
SMTP 服务器的地址,例如 Gmail 的 SMTP 服务器为 smtp.gmail.com:587。 |
SMTPUsername |
用于 SMTP 认证的用户名。 |
SMTPPassword |
用于 SMTP 认证的密码。 |
SMTPMailFrom |
发送邮件时使用的发件人邮箱地址。 |
DBConnectionString |
数据库连接字符串,用于连接 MariaDB 数据库。包含数据库服务器地址、端口、数据库名称、用户名和密码。 |
AdminEmail |
管理员的登录邮箱地址,用于管理和通知。 |
AdminPassword |
管理员的登录密码。 |
OpenAIToken |
可选的 OpenAI API 密钥,用于集成 OpenAI 功能。 |
librum_db的环境变量说明
这些环境变量用于配置 MariaDB 数据库的访问和安全性,确保 Librum 服务器能够成功连接和操作数据库。
| 环境变量 | 说明 |
|---|---|
MARIADB_USER |
用于 MariaDB 数据库的用户名,默认值为 librum。 |
MARIADB_PASSWORD |
用于 MariaDB 数据库的密码,默认值为 mariadb。 |
MARIADB_DATABASE |
初始化时创建的数据库名称,默认值为 librum。 |
MARIADB_ROOT_PASSWORD |
MariaDB 根用户的密码,默认值为 mariadb。 |
然后执行下面的命令
1 | # 新建文件夹 librum 和 子目录 |

运行
在浏览器中输入 http://群晖IP:5314 会看到下面的提示
1 | Librum-Server is not a web application, so it's not supposed to have a main page. <br>This page is just for health-status checking. |

因为 Librum-Server 只包含 Librum 客户端应用程序所需的 API、数据库和其他核心基础设施项目,而不是 Web 应用
客户端
在官方主页,可以下载到对应平台的客户端

支持 Windows 、MacOS 和 Linux,移动端应该也会有

下面以 Windows 为例,介绍如何让客户端连接到自托管服务器
- 打开注册表编辑器(按下
Win + R并搜索regedit) - 导航到
HKEY_CURRENT_USER\Software\Librum-Reader\Librum

- 设置
selfHosted=true - 设置
serverHost为前面安装的服务端地址

启动客户端,首先需要注册账号

注册界面时,密码不能使用太简单的,否则会显示 The provided data is invalid

自托管不需要激活,所以老苏环境变量没有设置 SMTP 相关的参数

直接用注册的账号密码登录客户端

登录成功后的主界面

免费图书

PDF 工具

设置界面

添加图书
Librum 支持所有主要的书籍格式:
PDFEPUBCBZ(Comic books)FB2TIFFMobiXPSImages
开始添加图书

随便加了几本

书籍管理

看书

多端阅读,理论上是可以同步的,但没有条件测试

参考文档
Librum-Reader/Librum-Server: The Librum server
地址:https://github.com/Librum-Reader/Librum-ServerLibrum-Reader/Librum: The Librum client application
地址:https://github.com/Librum-Reader/Librumlibrumreader.com
地址:https://librumreader.com/Home · Librum-Reader/Librum Wiki
地址:https://github.com/Librum-Reader/Librum/wikiLibrum - Finally a modern E-Book reader : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/16a0eg4/librum_finally_a_modern_ebook_reader/I created the mariadb version of the database. If anyone want to test it. · Issue #39 · Librum-Reader/Librum-Server
地址:https://github.com/Librum-Reader/Librum-Server/issues/39