前言#
之前接触过calibre-web
这个项目,确实是一个非常好的管理书籍的项目,同时又不是calibre原软件一成不变的界面风格.最近接触到calibre-web
有docker的版本,于是想试试将它部署到服务器上
先是在阿里云试了试水,可是奈何1m的下载小水管,加载书籍的速度没有任何体验.
后来看到了另一个docker镜像,有arm64的版本,于是想在自己的树莓派上部署一个个人图书馆,方便使用.
Calibre-web#
Calibre-web https://github.com/janeczku/calibre-web/ 原项目地址
其中作者介绍了两个Docker Images
Technosoft2000 - x64#
Docker Hub - https://hub.docker.com/r/technosoft2000/calibre-web/
Github - https://github.com/Technosoft2000/docker-calibre-web
Includes the Calibre
ebook-convert
binary. 包含了书籍格式转换工具- The “path to convertertool” should be set to
/opt/calibre/ebook-convert
- The “path to convertertool” should be set to
LinuxServer - x64, armhf, aarch64#
Docker Hub - https://hub.docker.com/r/linuxserver/calibre-web/
Github - (Optional Calibre layer) - https://github.com/linuxserver/docker-calibre-web/tree/calibre
This image has the option to pull in an extra docker manifest layer to include the Calibre
ebook-convert
binary. Just include the environmental variableDOCKER_MODS=linuxserver/calibre-web:calibre
in your docker run/docker compose file. (x64 only) 这个镜像将书籍格式转换工具分离,有需要可以自行添加
这里我们选择第二个作为树莓派要部署的镜像
拉取镜像#
docker pull linuxserver/calibre-web
建议先更换镜像源,速度会快上很多
创建容器#
sudo docker create --name=calibre-usb -v /media/pi/calibre:/config -v /media/pi/calibre/books:/books -p 8083:8083 linuxserver/calibre-web
解释一下 --name
是创建的容器名,取个好记的就行
-v
第一个是配置文件的存放地 第二个为书籍数据库的存放地
建议先自行创建文件夹,或者直接在命令中设置目录,命令会自动创建
-p
为主机端口与容器端口的映射
该例中为主机的8083
与容器的8083
映射,主机的端口可修改,容器的保持8083
最后一项为镜像的全称
防火墙(安全组)配置#
如果有启用防火墙 需要开放主机的8083tcp端口
ufw allow 8083/tcp
或
firewall-cmd --zone=public --add-port=8083/tcp --permanent
firewall-cmd --complete-reload #重新载入防火墙配置
树莓派如果只在局域网内使用的话,到这就可以结束了
如果希望能够在外网访问,还需要在路由器进行8083端口的端口映射
登录#
浏览器输入ip:8083
进入控制台
首先需要设置数据库位置
我们之前命令中的配置文件的位置就是容器docker的根目录
现在容器的根目录下只有一个/books
文件夹,这个文件夹就是我们的数据库位置
必须使用电脑上的calibre软件先生成一个新的metadata.db数据库文件然后将这个文件上传到之前建立的calibre文件夹内。 然后再在上面的数据库位置中填入/books,才能设置成功,不然会一直提示DB 路径设置不正确
我这有一份现成的可供大家使用metadata.db
最后需要对docker的配置文件文件夹进行读写权限的设置,否则会出现封面缺失,上传失败的问题 无脑777
chmod -R 777 /calibre # 位置视个人情况
管理员默认帐号为admin 密码为admin123 建议先做好帐号的添加与管理
至此结束