• 周三. 4 月 22nd, 2026

物嫩软件资讯网

软件资讯来物嫩

现代电子书图书馆管理和阅读器Librum

admin@wunen

6 月 13, 2025


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

服务器的运行环境,确保服务器能够正确连接到数据库、处理身份验证和发送邮件等功能。

环境变量 说明

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

然后执行下面的命令

# 新建文件夹 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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注