【实用Docker项目】搭建一个在线电子书库/漫画/CG/画集库——Calibre-Web
本文最后更新于 2024-05-17,
若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益, 请联系我 删除。
本站只有Telegram群组为唯一交流群组, 点击加入
文章内容有误?申请成为本站文章修订者或作者? 向站长提出申请
前言
Calibre-Web是一个网络应用,为使用有效的Calibre数据库浏览、阅读和下载电子书提供一个简洁的界面。
其实除了电子书外,calibre-web管理漫画、CG和画集也是很方便的。
除了已经是epub格式的内容,其实一些其他常见漫画格式也能很方便的添加进calibre-web里。
比如漫画有很多只是把图片打包成zip文件而已,而calibre-web有人觉得没法直接认出zip格式的文件会不方便管理,其实直接把文件后缀从zip改成cbz,calibre-web就能直接认出来了,并且能直接在线阅读。这样一来很多zip漫画就不用费力去转epub格式了。(rar和7z格式也是同理,但如果压缩包内有图片之外的文件或者png和gif格式的图片calibre-web目前认在线阅读认不出来,但可以下载下来)。
项目地址:https://github.com/janeczku/calibre-web
Docker镜像——linuxserver.io(专门团队构建,仍在更新中):https://hub.docker.com/r/linuxserver/calibre-web (本次采用)
安装Docker🐳
利用Docker-compose搭建,易于更新
先建立一个文件夹和文件
mkdir -p ~/calibre &&cd $_
vim docker-compose.yaml
docker-compose填入以下内容:
---
version: "2.1"
services:
calibre-web:
image: lscr.io/linuxserver/calibre-web:latest
container_name: calibre-web
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
- DOCKER_MODS=linuxserver/mods:universal-calibre #optional
- OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional
volumes:
- ./data:/config
- ./library:/books
ports:
- 8083:8083
restart: unless-stopped
我是以root身份来运行的,所以这边的 PUID=0
,PGID=0
。
我们可以在命令行里输入 id
,查看当前的id情况,如果你也是 root
运行的,那么不需要改,如果你是别的用户运行的,请把 0
改成对应 id
输出的数字,不然后续会出现无法连接数据库的情况。
没什么问题的话,复制完上面的内容后,
按一下 esc
,然后 :wq
保存退出。
运行
docker-compose up -d
我们现在可以输入 http://ip:8083/
访问了。
配置数据库
docker exec -it calibre-web sh #进入容器内部
cd /app/calibre/bin #进入bin文件夹
calibredb restore_database --really-do-it --with-library /books #创建一个数据库
chmod a+w /books/metadata.db #添加写的权限
exit # 退出容器
更新
cd ~/calibre # 进入docker-compose所在的文件夹
docker-compose pull # 拉取最新的镜像(需要修改版本号)
docker-compose up -d # 重新更新当前镜像
卸载
cd ~/calibre # 进入docker-compose所在的文件夹
docker-compose down # 停止容器,此时不会删除映射到本地的数据
rm -rf ~/calibre # 完全删除映射到本地的数据
反向代理
参考教程:安装及使用
⚠️Nginx Proxy Manager(以下简称NPM)会用到80、443端口,所以本机不能占用(比如原来就有Nginx)
互联网使用请确保完成了域名解析
效果展示
使用教程
更改语言
扩展程序配置(转换格式)
Calibre 电子书转换器路径: /usr/bin/ebook-convert
KEpubify 电子书转换器路径: /usr/bin/kepubify
后台启用上传
启用用户阅读权限
转换书籍格式
搜刮元数据
注意选一个即可
可能遇到的问题
数据库无法读取问题
请注意 docker-compose.yml
里面的 PUID
、PUID
是否填写正确。
无法上传问题
请注意你是否打开了用户上传的权限。