个人电子书库管理器Biblioteca
简介
什么是 Biblioteca ?
Biblioteca
是一个用于管理大型电子书库的网络应用程序。它旨在提供一个简单易用的界面,帮助用户有效地管理个人图书馆。是Calibre
和其他类似软件的替代品。
主要特点:
- 高效的搜索功能:能够快速找到所需书籍。
- 标签和总结:支持使用
ChatGPT
进行标签和书籍摘要。 - 移动友好:界面设计适合各种设备。
- Kobo 设备同步:可与
Kobo
电子书阅读器同步。 - OPDS 支持:允许通过
OPDS
协议访问书籍。 - 主题自定义:用户可以轻松定制界面外观。
Biblioteca
是一个开源项目,使用 GPL-3.0
许可证,旨在为用户提供一致和良好分类的图书馆管理体验。
作者之所以创建 Biblioteca
,是因为想要一个简单易用的图书馆管理器,但又对现有的解决方案不满意,所以决定自己做。
安装
在群晖上以 Docker 方式安装。
需要注意的是,群晖内核版本太低会遇到下面的错误,这个 AH00141
已经遇到多次了,老苏除了换机器,也没找到其他的办法;
1 | Function not implemented: AH00141: Could not initialize random number generator |
官方镜像发布在 ghcr.io
,最新版本是 0.6
服务涉及到多个容器,采用 docker-compose
方式安装
env.txt
env.txt
是软件的环境变量,直接采用了官方的 prod
版本的 .env
的内容,未做任何修改
源文件地址:https://github.com/biblioverse/biblioteca/blob/main/.env
1 | # In all environments, the following files are loaded if they exist, |
可变 | 值 |
---|---|
APP_ENV |
应用程序运行的环境。可以是 dev 或 prod。除非需要调试应用程序,否则应始终使用 prod。 |
APP_SECRET |
用于保护应用程序的密钥。请确保它是唯一的! |
DATABASE_URL |
数据库的 URL 。除非使用不同的数据库,否则您不需要更改此项。 |
MESSENGER_TRANSPORT_DSN |
不要更改它。 |
MAILER_DSN |
当前未使用。 |
TYPESENSE_URL |
Typesense 服务器的 URL 。除非使用不同的服务器,否则您不需要更改此项。 |
TYPESENSE_KEY |
访问 Typesense 服务器的密钥。需要与您在 docker-compose 文件中设置的密钥相对应。 |
BOOK_FOLDER_NAMING_FORMAT |
用于命名存储书籍的文件夹的格式。可以使用以下占位符:{authorFirst}, {author}, {title}, {serie} 。 |
BOOK_FILE_NAMING_FORMAT |
用于命名存储书籍的文件的格式。可以使用以下占位符:{serie}, {serieIndex}, {title} 。 |
KOBO_PROXY_USE_DEV |
如果设置为 1 ,将在开发中使用 Kobo 代理。 |
KOBO_PROXY_USE_EVERYWHERE |
如果设置为 1 ,将在任何地方使用 Kobo 代理,并将所有请求转发到原始商店。 |
KOBO_PROXY_ENABLED |
如果设置为 0 ,将禁用 Kobo 代理。 |
ALLOW_BOOK_RELOCATION |
如果设置为 0 ,添加到库中的书籍将不会移动到正确的文件夹。这在您想要自己管理文件夹结构时很有用。 |
关于环境变量的官方说明:https://biblioverse.github.io/biblioteca-doc/installing/dotenv-config
docker-compose.yml
docker-compose.yml
基于官方的版本进行了微调
1 | services: |
然后执行下面的命令
1 | # 新建文件夹 biblioteca 和 子目录 |
如果不出意外的话,会有 3
个容器启动
运行
在浏览器中输入 http://群晖IP:8109
就能看到登录界面
如果随便输入,会显示错误,因为现在还没有 db.user
表
1 | 500 Internal Server Error |
导入数据
依次执行下面的命令创建数据库并新建管理员账号
1 | # 创建数据库 |
登录成功后的主界面
汉化
老苏基于官方的 translations
做了汉化文件,可以在这里下载:https://github.com/wbsu2003/synology/raw/refs/heads/main/Biblioteca/translations.zip
将其放入 biblioteca
根目录
解压到当前目录
现在的 translations
目录
现在执行下面的命令,先将文件复制到容器内
1 | # 讲中文复制到容器中 |
然后清除缓存,否则有可能界面不会有变化
进入 My Profile
–> Langue
,选择法文
保存之后,刷新页面,虽然并不全部是中文,但是基本上已经可以看懂了
书籍
左侧的 上传
,先选择文件,再点 Upload
上传
需要点 Consume
才能在 所有书籍
中找到
可以上传封面,也可以从文件中提取封面
可以下载,也可以在网页中阅读
书架
左侧的 编辑书架
–> 新书架
创建完成后
可以将书籍放入书架
现在你的书架上就有书了
Biblioteca
目前还在比较早期,Bug
还有点多,像有些电子书,在从文件中提取封面时,比较容易遇到 500 Internal Server Error
参考文档
biblioverse/biblioteca: Biblioteca is a web application made to manage large ebook libraries and is developed aiming to help you to have consistent and well classified libraries.
地址:https://github.com/biblioverse/bibliotecaBiblioteca Book Management | Biblioteca Docs
地址:https://biblioverse.github.io/biblioteca-doc/