https://github.com/janeczku/calibre-web 是一个Web应用,提供干净的界面用于浏览、阅读和下载电子书,使用现有的Calibre数据库。还可以集成谷歌驱动器,并通过应用本身编辑元数据和Calibre库。该软件是library的分支,基于GPL v3许可证。
LinuxServer.io团队提供的此容器具有以下特点:
!https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-web-icon.png
我们利用docker manifest实现多平台支持。只需拉取 lscr.io/linuxserver/calibre-web:latest 即可获取适合您架构的正确镜像,也可通过标签拉取特定架构的镜像。
支持的架构:
| 架构 | 可用 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64- |
| arm64 | ✅ | arm64v8- |
| armhf | ❌ |
此镜像提供多种版本,可通过标签获取。使用不稳定或开发标签时请谨慎。
| 标签 | 可用 | 描述 |
|---|---|---|
| latest | ✅ | Calibre-Web的稳定版本 |
| nightly | ✅ | Calibre-Web主分支的提交版本 |
Web界面可通过 http://your-ip:8083 访问。
在初始设置页面,输入 /books 作为Calibre库位置。
默认管理员登录:
如果锁定自己或忘记密码,需指定app.db,命令如下:
docker exec -it calibre-web python3 /app/calibre-web/cps.py -p /config/app.db -s <user>:<pass>
若未指定正确的数据库,命令看似成功但实际无效。
默认包含unrar,需在Calibre-Web管理页面(基本配置:外部二进制文件)中设置路径为 /usr/bin/unrar。
仅64位系统 我们实现了可选功能,可拉取依赖以启用Calibre电子书转换功能。如需此功能,添加docker-mods部分所示的可选环境变量以拉取额外的docker层,然后在Calibre-Web管理页面(基本配置:外部二进制文件)中将Calibre电子书转换器路径设置为 /usr/bin/ebook-convert。
此镜像包含 kepubify 电子书转换工具(MIT许可证),用于将epub转换为kepub。在Calibre-Web管理页面(基本配置:外部二进制文件)中将Kepubify电子书转换器路径设置为 /usr/bin/kepubify。
以下提供docker-compose和docker cli两种方式创建容器。
yaml--- 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 #可选 - OAUTHLIB_RELAX_TOKEN_SCOPE=1 #可选 volumes: - /path/to/data:/config - /path/to/calibre/library:/books ports: - 8083:8083 restart: unless-stopped
bashdocker run -d \ --name=calibre-web \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e DOCKER_MODS=linuxserver/mods:universal-calibre `#optional` \ -e OAUTHLIB_RELAX_TOKEN_SCOPE=1 `#optional` \ -p 8083:8083 \ -v /path/to/data:/config \ -v /path/to/calibre/library:/books \ --restart unless-stopped \ lscr.io/linuxserver/calibre-web:latest
容器通过运行时传递的参数进行配置(如上所示)。参数以冒号分隔,表示 <外部>:<内部>。例如,-p 8080:80 表示将容器内的80端口映射到主机的8080端口。
| 参数 | 功能 |
|---|---|
-p 8083 | Web界面端口 |
-e PUID=1000 | 用户ID - 详见下文说明 |
-e PGID=1000 | 组ID - 详见下文说明 |
-e TZ=Etc/UTC | 指定时区,查看列表 |
-e DOCKER_MODS=linuxserver/mods:universal-calibre | #可选 & 仅x86-64 添加电子书转换功能 |
-e OAUTHLIB_RELAX_TOKEN_SCOPE=1 | 可选,允许Google OAUTH工作 |
-v /config | Calibre-web存储内部数据库和配置的位置 |
-v /books | 现有Calibre数据库的位置 |
可使用特殊前缀 FILE__ 从文件设置任何环境变量。
示例:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
将根据 /run/secrets/mysecretvariable 文件内容设置环境变量 MYVAR。
所有镜像都支持使用可选的 -e UMASK=022 设置覆盖容器内服务的默认umask。请注意,umask不是chmod,它基于其值减去权限而非添加。请在请求支持前了解。
使用卷(-v 标志)时,主机OS和容器之间可能出现权限问题。通过指定用户 PUID 和组 PGID 可避免此问题。
确保主机上的任何卷目录都由您指定的用户拥有,权限问题将迎刃而解。
此处 PUID=1000 和 PGID=1000,使用 id your_user 命令获取您的ID:
bashid your_user
示例输出:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=calibre-web&query=%24.mods%5B%27calibre-web%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml]([] "查看此容器的可用模块") https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml]([] "查看可用的通用模块")
我们发布了各种 https://github.com/linuxserver/docker-mods 以启用容器内的附加功能。上述动态徽章可访问此镜像的可用模块(如有)以及可应用于任何LinuxServer.io镜像的通用模块。
容器运行时的Shell访问:
bashdocker exec -it calibre-web /bin/bash
实时监控容器日志:
bashdocker logs -f calibre-web
容器版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' calibre-web
镜像版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/calibre-web:latest
大多数镜像都是静态、版本化的,需要更新镜像并重新创建容器以更新内部应用。除部分例外(如nextcloud、plex),不建议或支持在容器内更新应用。请参阅上文应用设置部分了解是否推荐更新。
以下是更新容器的说明:
更新镜像:
bashdocker-compose pull
bashdocker-compose pull calibre-web
更新容器:
bashdocker-compose up -d
bashdocker-compose up -d calibre-web
移除旧的悬空镜像:
bashdocker image prune
更新镜像:
bashdocker pull lscr.io/linuxserver/calibre-web:latest
停止运行中的容器:
bashdocker stop calibre-web
删除容器:
bashdocker rm calibre-web
使用上述相同的docker run参数重新创建容器(若正确映射到主机文件夹,/config 文件夹和设置将保留)
移除旧的悬空镜像:
bashdocker image prune
拉取最新标签镜像并使用相同环境变量替换:
bashdocker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --run-once calibre-web
移除旧的悬空镜像:docker image prune
警告:我们不认可使用Watchtower作为现有Docker容器自动更新的解决方案。事实上,我们通常不鼓励自动更新。但对于忘记原始参数的容器,这是一个有用的一次性手动更新工具。长期来看,强烈建议使用 Docker Compose。
提示:推荐使用 Diun 获取更新通知。不推荐或支持其他自动更新容器的工具。
如需为开发或自定义逻辑修改这些镜像:
bashgit clone https://github.com/linuxserver/docker-calibre-web.git cd docker-calibre-web docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/calibre-web:latest .
可使用 multiarch/qemu-user-static 在x86_64硬件上构建ARM变体:
bashdocker run --rm --privileged multiarch/qemu-user-static:register --reset
注册后,可使用 -f Dockerfile.aarch64 指定dockerfile。
67的版本存在https://github.com/janeczku/calibre-web/issues/534%E3%80%82以下是 lsiodev/calibre-web 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务