Files
StudyDiary/03-工作笔记/Calibre电子书平台.md
2026-07-23 20:36:13 +08:00

345 lines
14 KiB
Markdown
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 1. 平台搭建
- technosoft2000/calibre-web❌
```
docker create --name=calibre-web --restart=always \
-v /volume1/Media/Books:/books \
-v /volume1/docker/calibre-web/app:/calibre-web/app \
-v /volume1/docker/calibre-web/config:/calibre-web/config \
-e USE_CONFIG_DIR=true \
-e SET_CONTAINER_TIMEZONE=true \
-e CONTAINER_TIMEZONE=Australia/Sydney \
-e PGID=65539 -e PUID=1033 \
-p 9083:8083 -p 9080:8080 \
technosoft2000/calibre-web
```
https://github.com/Technosoft2000/docker-calibre-web
【问题】
1. 不能启动
https://github.com/Technosoft2000/docker-calibre-web/issues/74
下载kindlegen转换器比较慢
2. 启动过程中创建用户calibre,但是外接磁盘权限没有,怎么给?
3. 启动过程海要删除app下内容,git命令clone需要为空!
4. Cannot import APScheduler module, it is needed to run calibre-web, please install it using "pip install APScheduler"
https://tieba.baidu.com/p/8250585048
启动过程太复杂了!问题太多放弃!
映射:
/calibre-web/config
/calibre-web/kindlegen
/calibre-web/app 运行前必须为空
“/calibre-web/books” 疑是/books
需要进容器进行修复,具体方法:
https://blog.51cto.com/u_16213380/9339687
- janeczku/calibre-web⭕️
https://github.com/janeczku/calibre-web
- linuxserver/calibre-web⭕️
不带格式转换工具,没有在线阅读和转换的功能
https://www.ppmy.cn/ops/139900.html?action=onClick
- johngong/calibre-web✅
带格式转换工具,不带豆瓣接口,在fnOS-T安装成功,mayi8466.3322.org:7083
映射:
/config 配置
/library 电子书存放
/autoaddbooks 上传目录
环境变量:豆瓣最好默认:false
janeczku/calibre-web和linuxserver/calibre-web是标准镜像,大多以此为基础进行优化
johngong/calibre-web比较实用。
- Calibre-Web-Automated✅
[https://github.com/crocodilestick/Calibre-Web-Automated](https://github.com/crocodilestick/Calibre-Web-Automated)
https://developer.aliyun.com/article/1656903
docker-compose.yml:
```
services:
calibre-web-automated:
image: crocodilestick/calibre-web-automated:latest
container_name: calibre-web-automated
network_mode: bridge
environment:
- PUID=1000
- PGID=100
- TZ=Asia/Shanghai
volumes:
- /volume1/docker/calibreweb/config:/config
- /volume1/docker/calibreweb/import:/cwa-book-ingest
- /volumeUSB4/usbshare/eBooks/calibre:/calibre-library
ports:
- 7083:8083
restart: unless-stopped
```
/cwa-book-ingest 是文件上传目录
原作者镜像:crocodilestick/calibre-web-automated:latest
【总结】
获取元数据卡死,估计是没去掉豆瓣插件
- Calibre-Web-Automated-Book-Downloader✅
https://github.com/calibrain/calibre-web-automated-book-downloader
https://blog.csdn.net/gitblog_00179/article/details/146994884
https://tw.annas-archive.org/
用于搜索和请求书籍下载的直观 Web 界面,旨在与 [Calibre-Web-Automate](https://github.com/crocodilestick/Calibre-Web-Automated) 无缝协作。该项目简化了下载书籍并准备将它们集成到您的 Calibre 图书馆的过程。
- ✨ 特征
- 🌐 用户友好的 Web 界面,用于书籍搜索和下载
- 🔄 自动下载到您指定的摄取文件夹
- 🔌 与 Calibre-Web-Automated 无缝集成
- 📖 支持多种书籍格式(epub、mobi、azw3、fb2、djvu、cbz、cbr)
- 🛡️ Cloudflare 绕过功能,实现可靠下载
- 🐳 基于 Docker 的部署,可实现快速设置
[https://github.com/calibrain/calibre-web-automated-book-downloader](https://github.com/calibrain/calibre-web-automated-book-downloader#-features)
自建成功,但是搜索比较慢:
http://192.168.1.181:7084/,中文书是从这里搜索:https://annas-archive.org
最新拉取的CWA-book-downloader
要求增加映射:/config
# 2. Calibre-Web与客户端Calibre比较
## 2.1 **Calibre:**
- 功能完整的桌面应用程序
- 重点在于电子书的管理和处理
- 独立运行的本地软件
## 2.2 **Calibre-Web:**
- 基于Web的在线图书馆系统
- 重点在于图书的展示和阅读
- 需要服务器部署的网页应用
## 2.3 主要功能对比
| 功能 | Calibre | Calibre-Web |
| ----- | -------- | ------------ |
| 图书管理 | ✅ 完整强大 | ⭕️ 基础管理 |
| 元数据编辑 | ✅ 专业完整 | ⭕️ 基础编辑 |
| 格式转换 | ✅ 支持多种格式 | ❌ 需依赖Calibre |
| 在线阅读 | ❌ 不支持 | ✅ 支持 |
| 多用户支持 | ❌ 单用户 | ✅ 多用户系统 |
| 远程访问 | ❌ 本地使用 | ✅ 随处访问 |
Calibre 和 Calibre-Web 是互补的工具:
- Calibre 专注于**管理和处理**
- Calibre-Web 专注于**展示和阅读**
## 2.4 最理想的方案是
- 用 Calibre 做后台管理
- 用 Calibre-Web 做前台展示
- 两者结合获得最佳体验
Calibre创建的书库,Calibre-Web不能读取,双方db来关联电子书,可以先用Calibre-Web创建书库,然后指定calibre来打开和维护!
calibre-web上传的电子书目录还是英文,calibre客户端使用插件可以使用汉字目录,客户端可能不能阅读到web上加入的书籍
docker-compose.yml
```
services:
calibre-web-automated-book-downloader:
image: calibrain/calibre-web-automated-book-downloader:latest
environment:
FLASK_PORT: 8084
LOG_LEVEL: info
BOOK_LANGUAGE: en
USE_BOOK_TITLE: true
TZ: Asia/Shanghai
APP_ENV: prod
UID: 1000
GID: 100
CWA_DB_PATH: /auth/app.db
ports:
- 7084:8084
restart: unless-stopped
volumes:
# This is where the books will be downloaded to, usually it would be
# the same as whatever you gave in "calibre-web-automated"
- ./../import:/cwa-book-ingest
# This is the location of CWA's app.db, which contains authentication
# details
- ./../config/app.db:/auth/app.db:ro
```
## 2.5 部署方案
- M1安装Calibre客户端
通过Alist Desktop的Rclone将DSM8466上的/volumeUSB4/usbshare/eBooks/myCalibre通过WebDav
http://himan.picp.net:5200/本地磁盘/SNAS8466/usbshare4/eBooks/myCalibre
映射到M1:/Users/chengang/RMVolumes/DrivesM1目录中
myCalibre@M1 /Volumes/TU200/eBooks/myCalibre@M1 我喜欢的书
~~calibre@GL /Volumes/TU200/eBooks/calibre@GL 私密
~~Calibre@M1 /Users/chengang/Calibre@M1 编程~~
Library /volumeUSB4/usbshare/eBooks/TaleBook/books/library 9089 tale书库
calibre@DSM7083 :/volumeUSB4/usbshare/eBooks/myCalibre/calibre@dms7083 7083
~~书库@20240601 /volumeUSB4/usbshare/eBooks/myCalibre/书库@20240601~~
~~书库@20230123 /volumeUSB4/usbshare/eBooks/myCalibre/书库@20230123~~
书库@Education /volumeUSB4/usbshare/eBooks/myCalibre/书库@Education
/volumeUSB4/usbshare/eBooks/import目录存放上传电子书
- 书库规划
原则上客户端不存放书籍,但是可以零星存放一些
~~M1: <font color="#00b050"> myCalibre@M1</font> /Volumes/TU200/eBooks/myCalibre@M1 桥牌+临时书籍+编程,calibre客户端搭建,不对外,需要做同步备份到DSM上!~~
在M1上新建书库:<font color="#00b050">Books</font>
存放位置:108上已经建立了一个cwa和downloader,需要在108上的alist(108:5400端口)进行配置,然后通过Rclone映射到M1(Alist挂载)上,在<font color="#00b050">Books</font>上进行测试和验证,然后再发布到calibre@dms7083的输入目录和Library对应的imports目录上,完成同步!计划使用同步软件,先保存到TU200上,然后定时进行传送。
流览:
192.168.1.108 7083 ->7085
下载:
192.168.1.108 7084 ->7084
Tale:正式发布书籍,<font color="#00b050">Library</font>,综合性和热门书籍,没有登录帐号
CWA:<font color="#00b050">calibre@dsm7083</font>,正式对外,可以自托管,书籍要有一定面向性,自建登录帐号,可上传
说明:建立书库时名字有错误,不想折腾了,就用calibre@dms7083
~~Education:<font color="#00b050">书库@Education</font>,儿童读物有封面,正式对外,采用CWA,应用部署在192.168.1.108:7083,数据在108挂载DSM的磁盘,存放位置不变~~
如果使用calibre客户端作为电子书整理源的话,为了减少发布到多个书库的重复劳动,应该建立一个用于发布用的书库,保存到磁盘,以便同步发布到Library/CWA/书库@Education!只是临时用来整理的书库
书库取名<font color="#00b050">Books</font>
验证是否成功,拉取Library、calibre@dms7083和书库@Education也可以。
验证结果:
使用calibre在本机进行整理,存储是通过rclone+webdav在108服务器上,由于频繁编辑,使得映射在本地的虚拟目录读写混乱,这个方式极为不稳,放弃这方案!
现在初步计划:还是在M1本机的TU200上暂存,保存到磁盘后,有后台同步程序发送到三个远程服务器输入目录中
总共是5个calibre书库。其他的书库进行合并处理。
这部分已做了大量优化,不可用了!
参阅:
[[应用部署/本地应用部署笔记]]
其中的电子书章节。
# 3. 相关参考链接
- 安装教程
https://www.ppmy.cn/ops/139900.html?action=onClick
- 电子书库
https://tw.annas-archive.org/
安娜的档案(Anna’s Archive)是一个影子图书馆搜索引擎,可以提供海量的免费电子书下载资源。该网站集合了多个巨型图书馆的内容,包括Z-Library、[Library Genesis](https://zhida.zhihu.com/search?content_id=236825420&content_type=Article&match_order=1&q=Library+Genesis&zhida_source=entity)和[Sci-Hub](https://zhida.zhihu.com/search?content_id=236825420&content_type=Article&match_order=1&q=Sci-Hub&zhida_source=entity)等,相当于这三个图书馆的备份站点,资源极其丰富,我们可以在上面轻松找到各种书籍、论文、漫画、杂志等资源。
- “安娜的档案”是一个免费电子书下载网站,可用于获取中英文书籍、期刊和书评等各种文献资源。
- 该网站的名字来源于一个网友Anna,她爬取了Z-library上的资源,并将这些资源分享给广大用户。
- 它基于去中心化的[IPFS](https://zhida.zhihu.com/search?content_id=236825420&content_type=Article&match_order=1&q=IPFS&zhida_source=entity)网络,因此在一定程度上避免了常见的下载限制和封锁。
【私有化部署】
https://software.annas-archive.li/AnnaArchivist/annas-archive
我们建议至少 256GB RAM 和 4TB 磁盘空间,以及快速的 32 核 CPU。越多越好,特别是如果你要自己运行所有 [data-imports/README.md](/AnnaArchivist/annas-archive/-/blob/main/data-imports/README.md)。
【插件】
https://github.com/ScottBot10/calibre_annas_archive
要添加此插件,请转到最新的[版本](https://github.com/ScottBot10/calibre_annas_archive/releases)然后下载一个类似于“calibre_annas_archive-vx.x.x.zip”的文件,其中x是版本号,然后在calibre中转到“首选项”>“插件”,单击“从文件加载插件”并选择下载的zip文件。
# 4. 说明
- 哪些电子书合适导入平台管理和展示
- 电子书收集、整理和发布流程
- 电子书类别较多,如何进行分库来管理?
- <font color="#00b050">【docker-compose不能在已经使用过的当前目录中构建】</font>
# 5.相关自建服务器
## 5.1 DSM8466
- 192.168.1.181:9089 TaleBook
/volumeUSB4/usbshare/eBooks/TaleBook:/data
/volumeUSB4/usbshare/eBooks/TaleBook/books/imports 书籍导入目录
对应calibre书库:Library 发布:保存到硬盘->/Users/chengang/RMVolumes。。。
calibre-jeff/Jeff1968!!
- 192.168.1.181:7083 Calibre-Web-Automated
/usbshare4/eBooks/myCalibre/calibre@dms7083 :/calibre-library
/volume1/docker/calibreweb/import:/cwa-book-ingest 发布:保存到硬盘->/Users/chengang/RMVolumes。。。
- 192.168.1.181:7084 Calibre-Web-Automated-Downloader
/volume1/docker/calibreweb/import:/cwa-book-ingest:rw /volume1/docker/calibreweb/config/app.db:/auth/app.db:rw
绑定Calibre-Web-Automated:cwa-book-ingest
192.168.1.108 7083 ->himan.picp.net:7085
<font color="#00b050">192.168.1.181 7083 ->himan.picp.net:7083 </font>
admin/Mayi19b8#
myGuest/Mayi1968#
- cwa-downloader 端口
192.168.1.108 7084 ->himan.picp.net:7084
<font color="#00b050">192.168.1.181 7084 ->himan.picp.net:7086</font>
DSM终于完成dockercompose构建!
## 5.2 fnOS
网站链接:192.168.1.108:7083 ->himan.picp.net:7085
admin/Mayi19b8#
myGuest/Mayi1968#
下载链接:192.168.1.108:7084 ->himan.picp.net:7084
# 6. 问题
- 忘记密码
docker exec -it container_id /bin/bash
`
python3 /app/calibre-web/cps.py -p /config/app.db -s admin:password`
注意密码要满足字母、数字、特殊符号,大小写混合
docker  exec -it calibre-web python3 /app/calibre-web/cps.py -p /config/app.db -s admin:new_password
-
# 7. 相关App评测
评测App有:
## iOS
不可用:
- ❌ePaperback 不知道怎么添加connection?
- ❌eReadingo 需要购买:一次性 68元,支持iCloud/WebDav/WIFI无线输入
- ❌emonoreader 打开就是广告,不知道是不是要翻墙?
- ManGo 应该是漫画App,要求登录到MyAnimeLIst,估计是收费的!
- ❌ePocketBook 支持有声书,支持PocketBookCloud/Google/DropBox 不支持opds和WebDav
可用,推荐:
- ✅Kybook3
- ✅Yomu
- ✅FBReader 支持iCloud/网盘等,应该还可以使用
- ✅Neat reader 主要是自己提供书库,在线下载和阅读,不支持opds 已买断!
## Andriod
可用:
- ✅koreader
- ✅静读天下
- ✅FBReader 支持opds
待测试:
- AnyView 自带图书搜索,不支持opds
- 开卷有益
- 多看
- ❌ezPDF Reader
- 爱读掌阅
- ❌Apabi Reader
- 日读