Web应用 活跃维护

Calibre-Web-Automated

crocodilestick/Calibre-Web-Automated

Calibre-Web 但实现自动化并拥有大量新功能!完全自动化并简化您的电子书设置!

6392
Stars 标星
541
Forks 分支
22
Watchers 关注
467
Open Issues
JavaScript
主要语言
GPL-3.0
开源协议
155.2 MB
仓库大小
14 小时前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:crocodilestick/Calibre-Web-Automated
git clone https://github.com/crocodilestick/Calibre-Web-Automated.git
git clone git@github.com:crocodilestick/Calibre-Web-Automated.git
README.md main

英文原文正文为项目原始 README(英文),本站后续会翻译为中文,当前仅剔除图片与无关章节并统一排版。

Calibre-Web 自动化 (前称 Calibre-Web Automator)

让 Calibre-Web 成为你梦想中的一体化自托管数字图书馆解决方案。

支持项目 ❤️

CWA 将永远是免费和开源的。如果它让你的图书馆生活更轻松,并且你能够支持开发,捐款将直接用于:

  • 测试硬件(电子阅读器设备和平板电脑等)
  • 开发工具和基础设施
  • 咖啡 ☕(大量咖啡)

快速访问

它的存在目的是什么? 🔓

Calibre 虽然对于其年代来说是一个非常出色的工具,但在容器化时存在一些问题,包括其 UI 依赖于 KasmVNC 服务器实例,而在移动设备上几乎无法使用,并且如果你像我一样运行一个小型、低功耗的服务器,它的资源消耗相对较高。

对于很多人来说,Calibre-Web 真的是救星,它提供了一个容器化 Calibre 实例的替代方案,既轻量又拥有更现代化的 UI。

然而,与完全功能的 Calibre 相比,它不幸缺少一些核心功能,导致许多人同时运行这两个服务,每个服务弥补另一个的不足,最终形成一个通常笨重、不完美的解决方案。

项目目标 🎯

Calibre-Web Automated 旨在成为一体化解决方案,将 Calibre-Web 的现代轻量级网页界面与 Calibre 强大、灵活的功能集结合起来,同时还额外加入了许多功能和自动化功能。

CWA 让您能够保持电子书库可访问和有序,同时看起来也很不错 😎🦚

关联项目 👬

书架标识:书籍下载器

  • 一个直观的网页界面,用于搜索和请求书籍下载,设计上与 Calibre-Web-Automated 无缝配合。该项目简化了下载书籍并准备将其整合到您的 Calibre 图书馆的过程。

[!重要]
CWA 不批准或支持侵犯版权材料的行为,并且不对用户行为负责


Calibre-Web 伴侣

  • 使用 Flutter 构建,并采用 Material You,Calibre Web Companion 是 Calibre Web 和 Calibre Web Automated 的 非官方伴侣应用程序,允许您在设备上浏览书籍收藏并直接下载书籍,提供比任一服务当前自身能够提供的更 现代化、移动友好的用户体验


加入我们的社区! ❤️

  • 我想对这个社区中所有花时间参与本项目测试和开发的成员表示衷心的感谢 🙏,我们也鼓励任何愿意贡献的人参与进来。无论你的水平如何,大家都欢迎,每一点贡献都非常有帮助!

  • 对于任何希望以某种方式为本项目做出贡献的人,请在我们的 Discord 服务器上联系,并了解你可以如何最好地参与其中:
    \

  • 或者你可以创建自己的配套项目,来互动或在遇到问题时寻求帮助 :)

🚨 在网络共享(NFS/SMB)上部署 🚨

  • CWA 现在支持通过 NETWORK_SHARE_MODE=true 的网络共享部署
    • 这会禁用 metadata.db 和 app.db 上的 SQLite WAL,以防止锁定问题
    • 跳过在 NFS/SMB 上经常失败的递归所有权更改
    • 将 ingest/metadata 监视器切换为基于轮询的监视器以提高可靠性
  • 启用此模式后,网络共享仍然比本地磁盘慢,但现在已完全支持

网络共享和 SQLite WAL 模式

  • CWA 通过在本地磁盘上启用写前日志(WAL)来优化 SQLite 并发性。
  • 某些网络文件系统(NFS/SMB)不完全支持 WAL 或可靠的文件锁定,这可能导致间歇性的“数据库被锁定”错误或损坏风险。
  • 如果你在网络共享上部署,请设置以下环境变量以禁用 WAL:

    • NETWORK_SHARE_MODE=true

这告诉 CWA 避免在 Calibre 的 metadata.db 和 app.db 设置数据库上启用 WAL。同时禁用初始化/维护脚本执行的递归所有权更改(chown),以避免网络文件系统上的权限问题。默认值为 false(启用 WAL)以在本地磁盘上获得更好的性能。

网络共享上的文件监视

  • 默认情况下,CWA 使用 Linux inotify(通过 inotifywait)以最小的延迟和开销检测 ingest 文件夹中的新文件。
  • 在网络共享(NFS/SMB)上,文件系统事件可能不可靠或不可用。当设置 NETWORK_SHARE_MODE=true 时,CWA 将 ingest 和元数据监视器服务切换为基于轮询的监视器,定期扫描更改。这提高了 NAS/网络挂载的可靠性,但会增加一些 I/O 并延迟几秒钟。
  • 在 Docker Desktop(Windows/macOS)上,容器运行在 LinuxKit/WSL2 虚拟机中,主机挂载的路径可能无法可靠地传播 inotify 事件。CWA 在启动时自动检测 Docker Desktop,并出于可靠性考虑优先使用相同的轮询监视器。
  • 高级:你也可以通过设置 CWA_WATCH_MODE=poll 强制轮询,无论共享模式如何。

运行在多个代理(Cloudflare Tunnel、反向代理)之后

  • CWA 使用 Werkzeug 的 ProxyFix 中间件来正确处理 X-Forwarded-For、X-Forwarded-Proto 及其他代理头。

  • 默认情况下,它信任链中的 1 个代理。如果你有多个代理(例如,Cloudflare Tunnel → nginx → CWA),请设置:

    • TRUSTED_PROXY_COUNT=2(或您链中代理的总数)
  • 为什么这很重要:会话保护根据客户端的IP地址验证请求。如果ProxyFix不信任足够的代理,它可能会在请求之间看到不同的IP,从而导致“会话保护触发”警告并强制重新登录。

  • 故障排除:如果您在日志中频繁看到会话保护警告,请检查您的代理链深度并相应调整此变量。

功能:

CWA 支持所有股票 CW 功能:

现代且响应式的 Bootstrap 3 HTML5 界面 全面的用户管理,可为每个用户设置权限 提供用于电子阅读器应用的 OPDS 源
支持电子书元数据编辑和删除 可从各种来源下载元数据(可通过插件扩展) 限制电子书下载仅限登录用户
支持公开用户注册 一键将电子书发送到电子阅读器 将 Kobo 设备与 Calibre 库同步
浏览器内多格式电子书阅读支持 根据分类和每个用户的自定义列内容隐藏内容 “魔术链接”登录,方便电子阅读器访问
增强型 OAuth 2.0/OIDC 验证,支持自动发现 高级搜索和过滤选项 多语言用户界面,支持 20 种 语言

此外还有这些 CWA 特定功能:

点击下面的功能以了解更多详细信息:

自动获取服务 ✨ 自动转换服务 🔃 封面和元数据的自动执行 👀📔
批量编辑与删除 🗂️ 自动备份服务 🔒 新用户自动设置体验 🦮
自动 EPUB 修复服务 🔨 多格式转换服务 🌌 图书馆自动检测 📚🕵️
智能重复检测与管理 🔍 魔法书架 🪄📚 自动发送到电子阅读器 📧⚡
摄取时自动获取元数据 🏷️🤖 深度统计与分析 📊✨ 轻松切换深色/浅色模式 ☀️🌙
内部更新通知系统 🛎️ 备份文件自动压缩 🤐 额外的元数据提供者 🗃️
KOReader 同步 (KOSync) 📖⚡ 增强的 OAuth 2.0/OIDC 认证 🔐 EPUB 修复器 2.0 📧✅
自动获取精装书 ID 💜🤖 服务器统计跟踪页面 📍 增强的发送到电子阅读器模态 ✉️

自动导入服务 ✨

  • CWA目前支持自动导入27种不同的流行电子书格式
  • 用户可以在管理面板中配置服务行为,忽略或自动转换为其他格式

自动转换服务 🔃

  • 不过默认开启可以在CWA设置页面关闭,默认目标格式是EPUB
    • Available目标格式包括: EPUB、MOBI、AZW3、KEPUB 和 PDF
  • 当检测到Ingest目录中新文件时,如果任何文件格式为用户已配置CWA自动转换为当前目标格式,
  • 目前支持以下28种文件类型:
    • .acsm, .azw, .azw3, .azw4, .mobi, .cbz, .cbr, .cb7, .cbc, .chm, .djvu, .docx, .epub, .fb2, .fbz, .html, .htmlz, .lit, .lrf, .odt, .pdf, .prc, .pdb, .pml, .rb, .rtf, .snb, .tcr, .txtz
    • Note:.acsm 需要额外的 Calibre 的 plugin

通过Calibre-Web UI自动强制执行封面和元数据的更改! 👀📔

  • 在现有的Calibre-Web中,书籍封面和/或元数据所做的任何更改只会应用到书在Calibre-Web界面中的显示方式,不会像你预期的那样改变电子书文件
  • 这导致了许多使用 CW 的用户陷入令人沮丧的境地,他们使用 CW 的“发送到 Kindle”功能,却发现自己精心挑选的高质量封面和仔细整理的元数据在所有其他设备上完全消失!唉!
  • CWA 的 自动封面和元数据执行功能 使得 无论你对 你的书籍做了什么更改,都会直接应用到书籍本身,同时也会在网页界面中体现,让你所见即所得。

自动备份服务 🔒

  • 担心在 CWA 的某些自动功能出错时会发生什么吗?别担心!
  • 默认情况下,CWA 处理的所有原始文件都存储在 /config/processed_books 下,但可在 CWA 设置面板中切换。

智能重复检测系统与管理 🔍

  • 混合 SQL 模糊匹配可检测传统扫描未发现的重复项
  • 摄取后的检查和定期增量扫描
  • 一键合并、批量操作及可选自动解决
  • 可配置的匹配规则、阈值及格式识别

魔法书架 🪄📚

  • 动态规则书架,配备丰富过滤器及 AND/OR 逻辑
  • 预构建模板(最近添加、高评分、无封面、系列未完成等)
  • 实时更新,带缓存计数及工具提示
  • Kobo 同步支持及可选基于标签的同步

自动发送到电子阅读器 📧⚡

  • 摄取后自动发送新书邮件
  • 可配置延迟以先进行元数据/执行/EPUB 修复
  • 格式选择及多收件人发送
  • 支持每用户设置和可选自定义邮件主题

摄取时自动获取元数据 🏷️🤖

  • 可在摄取过程中自动获取和应用元数据
  • 尊重提供者层级并智能回退
  • 选择是覆盖现有字段还是仅填充缺失数据
  • 与自动发送和EPUB修复流程无缝协作

深度统计与分析 📊✨

  • 完整的分析中心,包含用户活动、图书馆、API使用情况和基于时间的洞察
  • 将部分内容导出为CSV以便离线分析
  • 用户特定过滤和自定义日期范围
  • 带有暗模式样式的交互式图表

增强的发送到电子阅读器窗口 ✉️

  • 一次发送到多个设备
  • 支持临时电子邮件地址,用于与朋友、家人甚至临时设备分享

自动EPUB修复服务 📧✅

  • 是否曾经很兴奋地想开始阅读下一本书,但亚马逊的发送到Kindle服务却总是拒绝?现在不再有这个问题!

  • 最初由 innocenat 开发,该工具可修正 CWA 处理的每个 EPUB 的以下潜在问题:

    • 通过添加UTF-8声明修复UTF-8编码问题(当未指定编码时)
    • 修复超链接问题(导致亚马逊拒绝EPUB)——当NCX目录链接指向带ID哈希的<body>时
    • 检测元数据中无效和/或缺失的语言标签,并提示用户选择新语言
    • 移除没有源字段的游离<img>标签。
    • 解决了多个EPUB兼容性问题,如UTF-8编码、超链接问题、无效/缺失的语言标签以及游离图像标签。
    • 修复格式错误的语言标签、XML声明和UTF-8头信息。
    • 清理无效的NCX链接、损坏的CSS/字体以及游离图像标签。
  • 这确保每个EPUB文件与亚马逊的Send-to-Kindle服务最大兼容性,对于不使用亚马逊设备的用户,也有清理低质量文件的额外好处!

  • 默认启用,并在每次运行时在/config/processed_books中备份。

  • 可以在管理面板中批量处理整个书库并跟踪进度。

简单易用的多格式转换服务 🌌

  • 该工具允许用户选择保留所有转换文件的原始副本在/config/processed_books中,或信任该过程,让CWA直接转换并替换这些文件(不推荐)。
  • 完整的使用详情可在这里查看。

额外的元数据提供者 🗃️

  • 用户现在可以利用isbndb.com的大型数据库,为书库中的书籍获取元数据!
  • 通过ibdb.dev提供访问,这要归功于@chad3814对社区的慷慨捐赠。
  • 支持Hardcover和Kobo元数据提供者,同时新增LitRes支持。

KOReader同步 (KOSync) 📖⚡

内置KOReader进度同步,自动识别书籍:

  • 书籍识别: 为所有书籍自动生成KOReader兼容的部分MD5校验和。
  • 统一进度: 同步KOReader → CWA阅读状态 → Kobo设备。
  • 零配置: 在启动和导入时生成校验和,无需手动设置。
  • 现代认证: 使用RFC 7617 HTTP基本认证并兼容现有CWA账户。
  • 插件可用: 可从您的 CWA 实例的 /kosync 端点下载

增强的 OAuth 2.0/OIDC 认证 🔐

  • 自动发现: 通过 OIDC 元数据 URL 自动配置端点,实现与 Keycloak、Authentik、Google 和 Azure AD 等提供商的无缝设置
  • 手动覆盖: 当无法自动发现时,可以完全手动控制 OAuth 端点
  • 字段映射: 可配置的 JWT 字段提取,用于用户名和电子邮件,以适应任何提供商的令牌结构
  • 基于组的角色: 根据 OAuth 提供商的组自动分配管理员角色
  • 测试工具: 内置连接测试和验证,确保您的配置在上线前可正常运行
  • 企业就绪: 支持自定义作用域、多种认证方法及全面的故障排除
  • 📖 完整 OAuth 配置指南,提供详细的设置说明

自动获取精装版 ID 💜🤖

  • 后台任务会自动填充缺失的精装版 ID
  • 可配置的计划任务,并在任务中跟踪进度
  • 优雅处理无效令牌

图书馆自动检测 📚🕵️

  • 旨在大幅简化新老用户的设置流程
  • 没有现有图书馆的新用户: 🆕
    • 没有图书馆?没问题!
    • 没有现有 Calibre 图书馆的新用户无需再复制粘贴 metadata.db 文件或在 Web UI 中指向其位置,CWA 现在会自动检测到您绑定中缺少图书馆,并为您自动创建一个新的!它甚至会自动在 Web UI 中注册,这样您可以立即开始使用
  • 有现有图书馆的新或老用户:
    • 只需绑定包含您 Calibre 图书馆的目录(搜索会递归进行,因此目录嵌套深度无关紧要),CWA 现在会自动找到并挂载到 Web UI
    • 如果您绑定了包含多个 Calibre 图书馆的目录,CWA 将智能地比较所有发现的图书馆的磁盘大小,并挂载最大的一个。
      • 尽管 CWA 每个实例只支持一个图书馆,但未来版本正在研究对多个图书馆的支持
      • 同时,建议拥有多个图书馆且不希望合并它们的用户运行多个并行实例

内部更新通知系统 🛎️

  • 用户现在将自动收到来自 Web UI 内的新更新可用通知
  • 自动触发条件为最新 GitHub 发布版本号与安装版本号不同
  • 设置为每天只显示一次,直到更新,以免打扰
  • 仅管理员用户可见

手动刷新库 ♻️

  • 有没有遇到过书籍在意外断电等情况下卡在导入文件夹里?现在告别手动将要导入的书籍来回复制进出导入文件夹吧,只需在 Web 界面的导航栏上按下 Refresh Library 按钮,任何仍然停留在导入文件夹中的内容将自动被导入!

备份文件自动压缩 🤐

  • 每天临近午夜时,CWA-Auto-Zipper 服务将自动将当天处理的所有文件压缩成 ZIP。
  • 最小化磁盘空间使用,并帮助保持备份文件尽可能有序
  • 默认启用,但可在管理员面板的 CWA 设置页面中禁用

批量编辑与删除! 🗂️🗄️

  • 告别一遍又一遍点击编辑按钮,仅为了删除或编辑一个系列!
  • 使用方法很简单,只需在 Web 界面的左侧导航到 Books List 页面,选择您希望编辑/删除的书籍,然后使用表格上方或标题中的按钮来执行所需的操作!
  • 感谢 @jmarmstrong1207

当前正在积极开发并在我们的路线图上的功能 🏗️🛣️

高优先级 🚨

  • 基于 Svelte 的全新前端,提供现代化、更快速的 UI
  • 新的网页阅读器(epub.js 的继任者),具有更好的性能和功能
  • 更强大的跨设备进度同步(单一数据源)
  • 在整个图书馆中进行全文搜索
  • 支持 Calibre 插件(例如 DeDRM)
  • 拆分图书馆(元数据和书籍存放在不同路径)
  • 与互联网上最友好、最温暖的地方整合 🐭🧀

低优先级 🌱

  • 通知系统集成(Telegram、Gotify、ntfy)

请提出您可能有的任何想法或愿望!我们对任何建议都持开放态度!

安装方法 📖

快速安装 🚀

  1. 使用以下命令下载 Docker Compose 模板文件:
curl -OL https://raw.githubusercontent.com/crocodilestick/calibre-web-automated/main/docker-compose.yml
  1. 将 compose 文件移动到一个空文件夹中(例如 ~/docker/calibre-web-automated/docker-compose.yml)。这个文件夹将用于存储服务器数据和库

  2. 使用注释帮助编辑 compose 文件,填写您的时区(可选)和所需的绑定

  3. 使用 cd 导航到您下载 Compose 文件的位置,然后运行:

docker compose up -d

这就可以开始啦!🥳 然而,为了避免潜在问题并确保最大功能,我们建议执行这些安装后任务。


使用 Docker Compose 🐋⭐(推荐)

1. 使用下面的 Docker Compose 模板设置容器:🐋📜

---
services:
  calibre-web-automated:
    image: crocodilestick/calibre-web-automated:latest
    container_name: calibre-web-automated
    environment:
      # Only change these if you know what you're doing
      - PUID=1000
      - PGID=1000
      # Edit to match your current timezone e.g. Europe/London, America/New_York - https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
      - TZ=Europe/London
      # Hardcover API Key required for Hardcover as a Metadata Provider, get one here: https://docs.hardcover.app/api/getting-started/
      - HARDCOVER_TOKEN=your_hardcover_api_key_here
      # If your library is on a network share (e.g., NFS/SMB), disable WAL to reduce locking issues
      # Accepts: true/false (default: false)
      - NETWORK_SHARE_MODE=false
      # Override the default port (8083) for the web server.
      # Accepts any valid port number.
      - CWA_PORT_OVERRIDE=8083
    volumes:
      # CW users migrating should stop their existing CW instance, make a copy of the config folder, and bind that here to carry over all of their user settings ect.
      - /path/to/config/folder:/config
      # This is an ingest dir, NOT a library one. Anything added here will be automatically added to your library according to the settings you have configured in CWA Settings page. All files placed here are REMOVED AFTER PROCESSING
      - /path/to/the/folder/you/want/to/use/for/book/ingest:/cwa-book-ingest
      # If you don't have an existing library, CWA will automatically create one at the bind provided here
      - /path/to/your/calibre/library:/calibre-library
      # If you use calibre plugins, you can bind your plugins folder here to have CWA attempt to add them to its workflow (WIP)
      # If you are starting with a fresh install, you also need to copy customize.py.json to the Calibre config volume above, in /path/to/config/folder/.config/calibre/customize.py.json, see the note below for more info
      - /path/to/your/calibre/plugins/folder:/config/.config/calibre/plugins
    ports:
      # Change the first number to change the port you want to access the Web UI, not the second
      - 8083:8083
    # If you set CWA_PORT_OVERRIDE to a port below 1024, you may need to uncomment the following line:
    # cap_add:
    #   - NET_BIND_SERVICE
    restart: unless-stopped

容器绑定说明:

请确保所有三个主要卷绑定都是单独的目录,当绑定在其他绑定中时可能会发生错误。

  • /config - 用于存储日志和其他保持 CWA 运行的杂项文件
    • 新用户 - 使用任何空文件夹(如果遇到任何问题,请确保该文件夹在主操作系统中不是 root:root 所有权)
    • 已有/ CW 用户 - 对于已有 Calibre-Web 设置的用户,将其映射到包含 app.db 的现有 /config 目录,以确保设置和用户被导入
  • /cwa-book-ingest - 注意 ⚠️ - 该文件夹中的所有文件在处理后将被 删除。此文件夹只应用于存放新书以进行导入和自动转换
  • /calibre-library - 应绑定到您的 Calibre 图书库文件夹,其中包含 metadata.db 和书籍文件。
    • 新用户 - 使用任何空文件夹(如果遇到任何问题,请确保该文件夹在主操作系统中不是 root:root 所有权)
    • 已有/ CW 用户 - 如果挂载目录中有多个库,CWA 将自动找到并挂载最大的一个 - 具体使用了哪个 metadata.db 请查看日志
  • /config/.config/calibre/plugins - 应绑定到包含您现有 Calibre 插件副本的目录中。配置将被保留。(目前无法通过 CWA 配置插件)
    • 为了让插件被注册并正常工作,您还必须将 Calibre 插件父目录中的 customize.py.json 文件复制到上面的正确配置文件夹,例如 /path/to/config/folder/.config/calibre/customize.py.json。如果您不知道如何找到此文件,请参阅下面的部分。
  • /app/calibre-web-automated/gmail.json (可选) - 这个文件用于将 Calibre-Web 和/或 CWA 与您的 Gmail 账户设置,以便通过电子邮件发送书籍。如果您对此感兴趣,请按照此处的指南操作,但请注意,这可能是一个非常繁琐的过程,我个人建议使用一个简单的 SMTP 服务器。

在哪里可以找到 customize.py.json:

  • 在 macOS 上,此文件通常位于 ~/Library/Preferences/calibre/customize.py.json。
  • 在 Linux 上,它通常位于 ~/.config/calibre/customize.py.json。
  • 在 Windows 上,它通常位于 %APPDATA%\calibre\customize.py.json(通常是 C:\Users\<YourUsername>\AppData\Roaming\calibre\customize.py.json)。旧版本安装可能位于 C:\Program Files\Calibre\customize.py.json 或 C:\Program Files\Calibre2\customize.py.json。

注意: 如果找不到此文件,说明您尚未配置任何 Calibre 插件。如果您不使用 Calibre 插件,可以跳过插件绑定步骤。

就这样,Calibre-Web Automated 应该已经可以运行了!但是,为了避免潜在问题并确保最大功能性,我们建议完成这些安装后任务。

从原版 Calibre-Web 迁移的用户

  • CWA 设计的目标是尽可能简化迁移过程。要将您的 CW 实例迁移到 CWA,只需:
    1. 如果 CW 仍在运行,请停止它的实例
    2. Calibre-Web 中的 /books 绑定,应作为 CWA 的 /calibre-library 绑定
    3. 在 Docker Compose 中挂载与 CW 使用的 /config 文件夹相同的文件夹(或者复制一份以确保安全)
    4. 挂载包含您的 Calibre 库的相同文件夹(Linuxserver 版本 Calibre Web 的 Docker Compose 默认使用 /books)
  • 然后就完成了!您所有的用户、设置等应该会自动迁移到新的 CWA 实例中!尽情享用吧!
  • 如果遇到 Web 界面无法加载的问题,可以尝试使用与 CW 相同的端口,然后在设置完成后根据需要重新配置

安装后任务:

Calibre-Web 快速入门指南

  1. 打开浏览器并访问 http://localhost:8083 或 http://localhost:8083/opds 来查看 OPDS 目录
  2. 使用默认管理员凭证登录(如下)
  3. 通过管理员页面配置您的 Calibre-Web Automated 实例
    • 如果在设置中需要帮助,请查阅 CWA Wiki 这里
    • 确保在 Settings -> Basic Configuration -> Feature Configuration 中启用 Enable Uploads
  4. 在 CWA 设置面板中配置 CWA,以便它按照您的需求运行
    • 在此处您可以打开或关闭某些功能,设置您的目标格式,指定应忽略或自动转换的文件格式等。
  5. 将一本书放入您的摄取文件夹中,以检查一切是否正常,并尽情享受!

默认管理员登录:

用户名: admin\
密码: admin123

使用 🔧

向你的图书馆添加图书

  • 只需将新下载或现有的电子书文件移到摄取文件夹,即 /cwa-book-ingest
  • 您放入此文件夹的任何内容都将被自动分析,如果必要会进行转换,然后导入到您的 Calibre-Web 库中,前提是该格式未在 CWA 设置面板中被设置为忽略
    • ⚠️ 注意 ⚠️
    • 直接将文件下载到 /cwa-book-ingest 不受支持。这可能会导致重复导入,并可能损坏数据库。建议先完整下载书籍,然后再将其转移到 /cwa-book-ingest,以避免任何问题
    • 确保您转移到 /cwa-book-ingest 的书籍是由您的用户拥有,而不是 root 拥有。否则,可能会出现权限错误,并可能导致导入不完整。
    • 如果您期望某本书被摄取但尚未被摄取,请使用上方导航栏的“库刷新”按钮来手动触发摄取过程

KOReader 同步(KOSync) 📖⚡

CWA 现在内置了 KOReader 同步功能,让您可以使用 KOReader 跨设备同步阅读进度。此功能提供了一种现代、安全的替代传统 KOReader 同步服务器的方法。在浏览器中访问 http://your-cwa-instance:8083/kosync,您将找到 CWA KOReader 插件的下载链接和安装说明。


本地开发环境设置

  1. 构建镜像 编辑并运行 build.sh 来构建 Calibre-Web-Automated 的本地 Docker 镜像。有关使用详情,请参阅脚本本身。

  2. 编辑 docker-compose.yml.dev 最少更新以下内容:

    • image: → 第 1 步中你的镜像标签
    • volumes mounts → 配置、导入、库、插件的路径

    为了让应用能够根据代码更改动态刷新,请参阅 docker-compose.yml.dev 中关于“实时编辑”挂载的注释,获取详细信息和示例。

  3. 启动服务

    $ docker compose -f docker-compose.yml.dev up -d
  4. 登录并配置


进一步发展 🏗️

  • CWA 非常幸运拥有一个非常热情和活跃的社区,这些人真正帮助塑造了今天的 CWA。
  • 如果你有任何想法或想为项目做出贡献,我们非常欢迎你!我们接受任何人,不论技能水平或专业知识!
  • 如果你有一个好主意或仅仅想提出改进建议,只需通过 Discord 服务器 这里 联系我们!

支持项目 ❤️

CWA 是并且将永远是免费且开源的。如果它让你的图书馆生活更轻松,并且你能够支持开发,贡献将直接用于:

  • 测试硬件(电子阅读器设备和平板等)
  • 开发工具和基础设施
  • 咖啡 ☕ (大量咖啡)
本站来源与版权声明
  • 本文标题:Calibre-Web-Automated - Calibre-Web 但实现自动化并拥有大量新功能
  • 本文链接:https://www.cn121.com/webapp/crocodilestick-calibre-web-automated.html
  • 原项目:crocodilestick/Calibre-Web-Automated 版权归原作者 crocodilestick 及贡献者所有
  • 收录信息:本站于 2026-10-10 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 GPL-3.0(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。基于本页内容形成的衍生作品, 须同样以该协议发布。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 crocodilestick/Calibre-Web-Automated。
  • 内容说明:本页正文为原项目 README 原文(英文),本站后续会翻译为中文(当前尚未译出,仅将二级标题译为中文,便于按栏目定位;标题原文可在下方原仓库中查看),仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。