侧边栏壁纸
博主头像
羊刀仙的部落格 博主等级

很有力量。

  • 累计撰写 314 篇文章
  • 累计创建 60 个标签
  • 累计收到 15 条评论

目 录CONTENT

文章目录

集电子书、漫画、有声书于一体,NAS 阅读库的终极形态:一键部署BookOrbit

羊刀仙
2026-09-24 / 0 评论 / 0 点赞 / 0 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
GW树洞

高速稳定 · 海外专线

  • 自用推荐
  • 90天使用时长
  • 70+ 节点分布
  • IEPL专线 油管4K无压力
  • 全平台客户端
  • 不限制在线设备
立即注册

最近群友说BookOrbit这个项目很火,就去项目主页看了下。

哦豁!电子书、漫画、有声书管理大一统了?威联通的集成App也即将推出,看样子大家都在不断进化。能火起来,是有原因的啊。

那我觉得,很有必要给大家分享一套完整搭建流程~

使用体验

不知不觉敲了三千多字,为了不浪费各位时间,这部分就放在前面。

支持电子书、有声书、漫画独立分类管理,首页集中展示继续阅读、阅读统计以及最近阅读内容,让个人数字书库更加直观。

ChatGPT Image 2026年9月24日 10_13_28 (1) 拷贝.jpg

书籍详情页支持展示封面、简介、标签、格式以及出版信息;阅读器支持字号调整、主题切换、背景颜色、排版布局等个性化设置。

ChatGPT Image 2026年9月24日 10_13_29 (2) 拷贝.jpg

除了查看书籍信息和播放时长,还可以快速进入章节列表,方便管理长篇有声内容。

ChatGPT Image 2026年9月24日 10_13_29 (3) 拷贝.jpg

支持睡眠定时、章节切换、智能续播、倍速播放以及快进快退调整,让碎片时间听书更加方便。

ChatGPT Image 2026年9月24日 10_13_30 (4) 拷贝.jpg

支持单册浏览和系列聚合查看,封面、章节以及作品信息集中管理,更适合长期收藏大量漫画资源。

ChatGPT Image 2026年9月24日 10_13_30 (5) 拷贝.jpg

支持分页、滚动以及 Webtoon 阅读方式,同时可以调整阅读界面和画布效果,适配不同类型漫画。

ChatGPT Image 2026年9月24日 10_13_30 (6) 拷贝.jpg

项目介绍

完整项目名:bookorbit/bookorbit

BookOrbit 是一套自托管数字阅读平台,它并不只是做一个电子书书架,而是直接把电子书、PDF、漫画和有声书都塞进了一套系统里。EPUB、MOBI、AZW3、PDF、CBZ/CBR,以及 M4B、MP3、FLAC 等常见格式都能直接管理和阅读。

网页上看了一半的书,还可以继续在 Kobo 或 KOReader 上读;阅读进度、高亮和批注还能在几端之间同步。除此之外,它还塞进了阅读统计、目标、成就、OPDS、Send-to-Kindle、多用户这些功能。

而且现在已经原生支持简体中文和繁体中文,对国内 NAS 用户来说基本没有语言门槛。能火起来的原因。

项目特性

✅电子书、漫画、有声书大一统

常见电子书、PDF、漫画和有声书格式都可以放进同一套书库管理。

✅浏览器直接阅读

不用额外安装阅读器,打开网页就能看电子书、漫画、PDF,也可以直接听有声书。

✅阅读进度跨设备同步

支持 Kobo、KOReader 和 BookOrbit 之间同步阅读进度、高亮和批注。

✅阅读记录也能统一管理

自带阅读时长、连续阅读、目标、成就等统计,高亮和笔记还能统一搜索、导出。

✅不只是“看书”,书库管理也很完整

支持多书库、自动入库、元数据匹配、OPDS、Send-to-Kindle 和多用户管理。

部署流程

这次依旧以威联通 NAS 为例,通过 Container Station + Docker Compose 完成部署。

IMG_4958.JPG

BookOrbit 本身需要搭配数据库使用,所以 Compose 内容会比普通单容器项目稍微长一点,不过实际部署并不复杂,基本还是复制配置、修改目录和密码后直接创建即可。

另外最开始群友在问.env的挂载读取问题。BookOrbit 官方方案确实是 docker-compose.yml + .env,数据库账号、密码、库名、JWT Secret、初始化 Token 等都从 .env 读取。为了不把部署复杂化,我就直接给全套了。

下面是本次使用的完整 Compose 配置:

services:
  bookorbit:
    image: ghcr.io/bookorbit/bookorbit:latest
    container_name: bookorbit
    restart: unless-stopped
    init: true

    ports:
      - "3000:3000"

    environment:
      NODE_ENV: "production"
      PORT: "3000"

      # 数据库连接
      POSTGRES_HOST: "postgres"
      POSTGRES_PORT: "5432"
      POSTGRES_USER: "bookorbit"
      POSTGRES_PASSWORD: "bookorbit"
      POSTGRES_DB: "bookorbit"

      # 请修改为实际访问地址
      APP_URL: "http://NAS_IP:3000"
      CLIENT_URL: "http://NAS_IP:3000"

      # 首次初始化需要
      JWT_SECRET: "请修改为一段较长的随机字符串"
      SETUP_BOOTSTRAP_TOKEN: "请修改为自己的初始化Token"

      # 文件权限
      PUID: "1000"
      PGID: "1000"

      # 书库选择器默认从 /books 开始
      LIBRARY_BROWSE_ROOT: "/books"

    depends_on:
      postgres:
        condition: service_healthy

    volumes:
      # 统一书库根目录,可包含不同类型内容,根据文件和元数据进行识别
      # NAS的books下可分设漫画、书籍、有声书等更详细的子文件夹
      - /share/Container/bookorbit/books:/books
      - /share/Container/bookorbit/data/app:/data

    read_only: true

    tmpfs:
      - /tmp

    cap_drop:
      - ALL

    cap_add:
      - CHOWN
      - DAC_OVERRIDE
      - FOWNER
      - SETGID
      - SETUID

    security_opt:
      - no-new-privileges:true

    stop_grace_period: 30s


  postgres:
    image: pgvector/pgvector:pg18
    container_name: bookorbit-db
    restart: unless-stopped

    environment:
      POSTGRES_USER: "bookorbit"
      POSTGRES_PASSWORD: "bookorbit"
      POSTGRES_DB: "bookorbit"
      PGDATA: "/var/lib/postgresql/data/pgdata"

    volumes:
      - /share/Container/bookorbit/data/postgres:/var/lib/postgresql/data

    healthcheck:
      test:
        [
          "CMD-SHELL",
          "pg_isready -U bookorbit -d bookorbit"
        ]
      interval: 10s
      timeout: 5s
      retries: 10
      start_period: 20s

如果你想要用.env,请注意威联通的可用挂载方式。

    env_file:
      - /share/Container/bookorbit/.env

打开威联通的Container Station创建新的应用程序。

截屏2026-09-21 16.54.13.png

部署完毕后,浏览器输入NAS_IP:3180即可访问服务。初始化时,要注意最下面的「设置令牌」,一定要填写部署时配置的SETUP_BOOTSTRAP_TOKEN中的值。

截屏2026-09-22 10.28.54 拷贝.png

创建书库

注册好后,便会自动登录,界面如下。先直接点击「创建您的第一个库」。

截屏2026-09-22 10.30.42.png

对库进行命名,以及选择库的显示图标。

截屏2026-09-22 10.58.33.png

接着选择该库需要挂载的目录,可快捷选择,也支持手动输入。

截屏2026-09-22 10.58.50.png

顺带给大家看看我这台测试NAS的目录安排,以及实际选择情况。

截屏2026-09-23 14.14.52.png

可以看到,跟我所挂载的/share/Media的子文件夹一致。

截屏2026-09-22 10.59.03.png

选择好之后继续下一步。

接着是选择扫描方式。「文件夹作为书」:一个文件夹 = 一个作品条目,里面的文件属于同一作品。「文件为 Book」:一个文件=一个作品条目。我在后续测试过后,给出如下建议:

  • 电子书:选择「文件为 Book」
  • 漫画:根据整理方式选择,CBZ/CBR 通常建议「文件为 Book」
  • 有声书:如果一个作品包含多个音频文件,建议选择「文件夹作为书」
  • 如果你的有声书直接是一个不分章节的完整文件,则仍然建议「文件为 Book」

截屏2026-09-22 11.01.29.png

因为不同类型作品,文件类型可能分的比较细致。例如漫画,就可以只勾选除了.cbz``.epub等漫画可识别格式,以防止库被污染。

截屏2026-09-22 11.03.50.png

接着是Metadata(本地元数据优先级) 设置,以及文件使用格式优先级(根据漫画/电子书/有声书种类不同执行调整)。「Embedded metadata」为文件内置信息,「OPF files」举个例子如通过 Calibre 生成的metadata.opf里面有更完整的信息。

截屏2026-09-22 11.47.47.png

继续。汉化还是不太完整。解释下图:阅读进度达到 0.25%,自动标记为正在阅读;阅读进度达到 98%,自动标记为已读完。

截屏2026-09-22 11.47.59.png

接着是设置自动检查新增书籍。

截屏2026-09-22 11.48.15.png

最后为元数据刮削。我的建议是都别开,保留原始电子书文件。

截屏2026-09-22 11.48.48.png

一些配置总结

为了提升你的阅读体验,一定要在控制台设置好各类作品的阅读配置,并如下图选择「我的账户」,这样所有设备的该账户都会统一阅读习惯!

截屏2026-09-24 09.47.28.png

大家前期可以创建库,简单添加些文件进行测试,不符合预期及时删除重建规则。毕竟整理到后期才发现某个地方不符合预期,是一件非常恶心的事儿。

截屏2026-09-23 14.40.08.png

元数据这块,实际测试下来,对中文用户最有帮助的应该还是 Google Books。毕竟它背后依靠 ISBN 体系检索,面对正规出版物时,数据完整度会比一些社区型数据库更可靠。

BookOrbit 虽然不是面向中文用户开发的项目(没有豆瓣/孔夫子这类中文书源),但中文出版物并不是完全没有覆盖。很多书籍会同步进入港台出版市场,繁体版本也会被 Google Books 收录,所以在匹配中文书籍时,除了简体书名,有时候尝试繁体名称、ISBN,反而更容易找到正确的封面和简介。

截屏2026-09-23 15.49.20 拷贝.png

中文作品的ISBN、封面、作者、简介等元数据整理,目前还是 Calibre 更强!

左侧这个「设备与同步」,支持连接 Kobo、KOReader 等阅读设备,也提供 OPDS 书库访问。通过 OPDS,支持的阅读器可以直接访问 NAS 中的电子书,实现在线浏览和下载,不需要手动复制文件。对于国内 NAS 用户来说,OPDS + KOReader 可能是更实用的组合。

截屏2026-09-23 16.12.20.png

「账号」中的 Hardcover、Readwise、StoryGraph 等第三方阅读服务,同步阅读进度、评分以及笔记等数据。这部分作为扩展功能使用,国内用的太少太少。

另外,如果大家有字体冲突导致内容显示错误,还可上传补充字体包。

截屏2026-09-23 16.32.12.png

关于各个库

漫画、电子书/有声书的刮削原理通用,有声书其实也基本按照原书的作者简介封面等进行刮削。

以最麻烦的漫画为例吧。

这个软件比较难受的点在于漫画集。。。默认是独立单本,不会像Komga那样根据文件目录和命名自动组成系列,反而比较依赖元数据。

截屏2026-09-23 16.40.10 拷贝.jpg

如下图,我点击折叠系列,仅有《地狱楽》进行了折叠。

截屏2026-09-23 16.44.21 拷贝.jpg

折叠后,可在左侧「浏览」-「系列」中查看。

截屏2026-09-23 16.47.33.png

截屏2026-09-23 16.48.25 拷贝.jpg

关键在于元数据的「系列」,要全部分卷统一,并打上匹配的卷号。

截屏2026-09-23 16.49.45 拷贝.jpg

漫画(特指日漫,欧美我不咋看)的元数据刮削,可获取基本主要来源为下图这俩,更建议通过 ISBN 号搜索刮削。如果大家的自带,或者有已经刮好的元数据文件,直接上传那就最好了。

截屏2026-09-23 16.59.41 拷贝.jpg

根据个人喜好,选择两者的刮削结果进行组合,最后申请到表单并保存即可。

截屏2026-09-23 17.01.47 拷贝.jpg

封面标题等都可以再调整,满意之后,建议都锁上,以免出岔子。最后保存即可。

截屏2026-09-23 17.04.16 拷贝.jpg

我将「狼と香辛料」刮削完毕后,也能成功合成系列,这样子观感便好了太多。

截屏2026-09-23 17.26.08 拷贝.jpg

截屏2026-09-23 17.25.31 拷贝.jpg

如果大家对最终调整结果满意,此时其实也可以选择在元数据编辑中点击「写入文件并重命名」。

关于有声书,请大家参照我之前说的建库流程「文件夹作为书」。NAS的文件如下。

截屏2026-09-23 17.36.53.png

很多封面是真的难找。。。尤其是网文。。。

截屏2026-09-23 17.45.42.png

可以看到播放显示的是总时长。

截屏2026-09-23 17.38.50.png

章节部分都能清晰显示,并且也会限时在总进度条中的节点位置。

截屏2026-09-23 17.40.15.png

效果还是非常不错的。

最后放一张电子书的列表展示,没啥好讲的了。

截屏2026-09-23 17.50.08.png

最后

因为是老外搓的AI项目,要做到真正符合国人口味可能还需要一定的时间,以及更多国内大佬的加入和打磨。

不过目前来说,体验还不错吧。

感谢观看,本文完。

0

评论区