Librum
在
23
年
9
月刚出来的时候老苏就关注了,那个时候还没有
docker
版本。后来是在大家的要求下官方才开始支持的 ,但是可能因为作者不熟悉
docker
,因此大家在采用
docker
自托管安装时,一直磕磕绊绊的。
老苏遇到的是数据库问题,开始连不上,后来连上了又缺表,再后来是注册失败,反正是一大堆的问题。
偶然逛官方的
Issues
,发现有人写了个一个
MariaDB
的
SQL
脚本,老苏测试一下,发现之前的问题都解决了。
上网查了一下,尚未有
Librum
自托管的文章,估计大家和老苏一样,所以便有了下文
简介
什么是 Librum ?
Librum
是一款旨在简化阅读体验的电子书管理应用程序。它允许用户创建和管理个人在线图书馆,支持多种设备访问。
Librum
支持自托管,主要目的是确保用户数据和书籍不与官方云同步,从而增强数据主权和隐私保护。这种自托管方式为用户提供了一种灵活且安全的方式来管理他们的电子书库和阅读体验。
总的来说,
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
是无用的,但是如果不设置会报错;
version: "3.8"
services:
librum:
image: ghcr.io/librum-reader/librum-server:latest
# hostname: librum
container_name: librum
ports:
- 5314:5000
volumes:
- ./book:/var/lib/librum-server/librum_storage
# - ./librum:/var/lib/librum
environment:
- JWTValidIssuer=exampleIssuer # Optional. You can leave it as-is
- JWTKey=exampleOfALongSecretToken # Optional. You can leave it as-is
# - SMTPEndpoint=smtp.88.com:465 # Example for Gmail: smtp.gmail.com:587
# - SMTPUsername=wbsu2003@88.com
# - SMTPPassword=<第三方邮件客户端密码>
# - SMTPMailFrom=wbsu2003@88.com
- DBConnectionString=Server=librum_db;port=3306;Database=librum;Uid=librum;Pwd=mariadb;
- AdminEmail=wbsu2003@gmail.com # Admin login username
- AdminPassword=123456 # Admin login password
#- OpenAIToken= # Optional. Generate here: https://platform.openai.com/api-keys
restart: unless-stopped
depends_on:
librum_db:
condition: service_healthy # Ensures the DB is up before the server.
librum_db:
image: mariadb:latest
# hostname: mariadb
container_name: librum_db
ports:
- 3316:3306
volumes:
- ./data:/var/lib/mysql
- ./initdb:/docker-entrypoint-initdb.d
environment:
- MARIADB_USER=librum
- MARIADB_PASSWORD=mariadb
- MARIADB_DATABASE=librum
- MARIADB_ROOT_PASSWORD=mariadb
restart: unless-stopped
healthcheck: # Ensures the DB is up before the server.
test: ["CMD", "mariadb-admin", "ping", "-u", "librum", "-p'mariadb'", "-h", "localhost"]
interval: 20s
timeout: 40s
retries: 3
start_period: 30s
-
librum
的环境变量说明
这些环境变量用于配置
Librum
服务器的运行环境,确保服务器能够正确连接到数据库、处理身份验证和发送邮件等功能。
| 环境变量 | 说明 |
|---|---|
|
用于设置( )的有效发行者。可以根据需要自定义,默认值为 。 |
|
用于设置的密钥,确保安全性。可根据需要自定义,默认值为 。 |
|
服务器的地址,例如 的 服务器为 。 |
|
用于认证的用户名。 |
|
用于认证的密码。 |
|
发送邮件时使用的发件人邮箱地址。 |
|
数据库连接字符串,用于连接数据库。包含数据库服务器地址、端口、数据库名称、用户名和密码。 |
|
管理员的登录邮箱地址,用于管理和通知。 |
|
管理员的登录密码。 |
|
可选的密钥,用于集成 功能。 |
-
librum_db
的环境变量说明
这些环境变量用于配置
MariaDB
数据库的访问和安全性,确保
Librum
服务器能够成功连接和操作数据库。
| 环境变量 | 说明 |
|---|---|
|
用于 MariaDB 数据库的用户名,默认值为。 |
|
用于 MariaDB 数据库的密码,默认值为。 |
|
初始化时创建的数据库名称,默认值为。 |
|
根用户的密码,默认值为 。 |
然后执行下面的命令
# 新建文件夹 librum 和 子目录
mkdir -p /volume1/docker/librum/{book,data,initdb}
# 进入 librum 目录
cd /volume1/docker/librum
# 修改目录权限
chmod a+rw book
# 将 docker-compose.yml 放入当前目录
# 一键启动数据库
docker-compose up -d librum_db
# 稍等一会儿再执行一键启动
docker-compose up -d
运行
在浏览器中输入
http://群晖IP:5314
会看到下面的提示
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
支持
所有
主要的书籍格式:
-
PDF
-
EPUB
-
CBZ
(
Comic books
) -
FB2
-
TIFF
-
Mobi
-
XPS
-
Images
开始添加图书
随便加了几本
书籍管理
看书
多端阅读,理论上是可以同步的,但没有条件测试
参考文档
Librum-Reader/Librum-Server: The Librum server
地址:
https://github.com/Librum-Reader/Librum-Server
Librum-Reader/Librum: The Librum client application
地址:
https://github.com/Librum-Reader/Librum
librumreader.com
地址:
https://librumreader.com/
Home · Librum-Reader/Librum Wiki
地址:
https://github.com/Librum-Reader/Librum/wiki
Librum – 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
