最近在整理收藏的电子书,以便在公网可以随时访问自己的电子书,然而,Calibre桌面端虽然功能强大,并且可以开启本地http服务,但http的界面还是过于简陋
我发现了一个Calibre Web开源项目,界面也非常舒服,支持多用户管理,可以在无桌面环境的树莓派家庭服务器直接部署!
Calibre Web开源地址:https://github.com/janeczku/calibre-web
本篇是Calibre Web的树莓派端的部署教程,最后会将http服务映射到公网,可以通过电脑或手机随时随地阅读分享我们电子书库!
image.png
IMG_2813.PNG
建立存放Calibre相关配置和数据的文件夹
cd /opt/
mkdir /opt/calibre-web
创建存储配置文件的文件夹config 以及存储书籍的文件夹books
mkdir /opt/calibre-web/config mkdir /opt/calibre-web/books
sudo chmod 777 -R /opt/calibre-web/
创建Docker Compose文件
touch /opt/calibre-web/docker-compose.yml
在docker-compose.yml内写入以下内容
version: "2.1"
services:
calibre-web:
image: lscr.io/linuxserver/calibre-web:latest
container_name: calibre-web
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- DOCKER_MODS=linuxserver/mods:universal-calibre #optional
- OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional
volumes:
- /opt/calibre-web/config:/config
- /opt/calibre-web/books:/books
ports:
- 8083:8083
restart: unless-stopped
如果你不需要对以上配置进行修改,可以用以下命令行直接写入配置
sudo bash -c 'cat > /opt/calibre-web/docker-compose.yml' <<-'EOF'
version: "2.1"
services:
calibre-web:
image: lscr.io/linuxserver/calibre-web:latest
container_name: calibre-web
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- DOCKER_MODS=linuxserver/mods:universal-calibre #optional
- OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional
volumes:
- /opt/calibre-web/config:/config
- /opt/calibre-web/books:/books
ports:
- 8083:8083
restart: unless-stopped
EOF
启动Calibre Web
在 /opt/calibre-web/
目录 运行sudo docker-compose up -d
即可
cd /opt/calibre-web/
sudo docker-compose up -d
通过浏览器访问 http://树莓派局域网http://树莓派局域网ip:8083
即可看到Calibre Web版界面
Web面板
输入默认用户admin,默认用户密码admin123, 点击Login
image.png
登录成功
image.png
进入 /opt/calibre-web/config
下载 metadata.db
cd /opt/calibre-web/config
wget https://raw.githubusercontent.com/janeczku/calibre-web/master/library/metadata.db
image.png
选择刚刚现在下载好的metadata.db
image.png
/config/metadata.db
image.png
image.png
修改登录用户名修改登录密码,保存
image.png
修改成功
image.png
如何管理书籍
Calibre Web目前没有提供管理书籍的功能,我们需要安装Calibre桌面客户端,使用Calibre桌面客户端管理Calibre Web版的数据库。
Calibre客户端下载: https://calibre-ebook.com/zh_HK/download
image.png
image.png
/opt/calibre-web/config/metadata.db
文件存在于树莓派,本地安装完成的Calibre客户端无法直接读写/opt/calibre-web/config/metadata.db
,我们可在树莓派开启smb服务(可以参考以前的教程 《树莓派4B家庭服务器搭建指南》第二期:网盘界的未来科技,新增smb服务并完成内网穿透,实现所有设备共享文件 https://www.v2fy.com/p/2021-10-03-pi-smb-1633231650000/ ),将树莓派/opt/
文件夹挂载到本地,进而实现本地Calibre客户端对/opt/calibre-web/config/metadata.db
文件的读写
通过smb挂载后,我们可以像访问本地磁盘一样,访问树莓派的的文件
image.png
安装Calibre
选择语言
image.png
下一步
image.png
完成
image.png
使用Calibre客户端管理
image.png
image.png
- 切换书库
image.png
image.png
image.png
image.png
拖拽上传到树莓派
image.png
上传成功
image.png
- 打开 Calibre Web, 可以在浏览器Web端看到刚刚上传的书籍了
image.png
- 点击书籍,可以在线阅读
image.png
- 支持PC和移动端,体验还不错
image.png
image.png
- 可以通过设置,进行字体和背景色调节,也可以直接通过目录进行章节跳转
image.png
image.png
image.png
- 如果想要在公网使用,只需在树莓派的frpc.ini添加对8083的端口开放规则即可
[books-frp-v2fy-com-8083]
type = tcp
local_ip = 127.0.0.1
local_port = 8083
remote_port = 8083
设置完成后,记得重启树莓派的frpc,同时开放云服务器的8083端口
frp的内网穿透具体设置,可以参考树莓派不吃灰的001和004两期,frp设置方法都试一样的,这里不在赘述
001 《树莓派4B家庭服务器搭建指南》第一期:刷Ubuntu Server 20.04,绑定公网域名,对公网提供http服务,SSH登录服务
https://www.v2fy.com/p/2021-10-01-pi-server-1633066843000/
004 《树莓派4B家庭服务器搭建指南》第四期: 用树莓派搭建公网个人下载平台aria2-pro,推荐6个优质种子资源站
公网顺利访问Calibre Web成功
- PC浏览器公网访问
image.png
- 手机浏览器公网访问
手机浏览器公网访问
多加几本书,电子书海报墙的感觉就来了
image.png
IMG_2813.PNG
一些实用经验
Calibre Web 目前还没有实现跨设备同步进度,同一账号登录,手机端和PC端阅读进度无法同步,只在本设备记录上次阅读的位置,Calibre Web的书签是支持跨设备同步进度的,我们在设备A停止阅读时,可以添加一个书签,在设备B打开书签即可跳转到对应位置。
Calibre Web如果报500错误(数据库同时被几个Calibre客户端操作,容易死锁数据库),一般重启Calibre Web的Docker服务就能解决。
本文用的是macOS版Calibre做的示例,但Windows版的Calibre其实更好用一些。繁体中文版的Calibre客户端翻译也比较奇怪,推荐用Calibre英文版,各项操作指令一目了然。
小结
Calibre是一个古老而强大的电子书管理工具,而开源项目Calibre Web 利用Calibre的数据库,将电子书转换为可以公网访问的web服务,确实是很棒的互联网产品思路。