最近羣友說BookOrbit這個項目很火,我就去項目主頁看了下。
哦豁!電子書、漫畫、有聲書管理和視聽大一統了?
那我覺得,很有必要給大家分享一套完整搭建流程~
⚠本文不涉及任何資源分享,文中涉及的相關作品僅爲展示,請大家尊重創作版權!
使用體驗
不知不覺敲了三千多字,爲了不浪費各位時間,這部分就放在前面。
支持電子書、有聲書、漫畫獨立分類管理,首頁集中展示繼續閱讀、閱讀統計以及最近閱讀內容,讓個人數字書庫更加直觀。
![]()
書籍詳情頁支持展示封面、簡介、標籤、格式以及出版信息;閱讀器支持字號調整、主題切換、背景顏色、排版佈局等個性化設置。
![]()
除了查看書籍信息和播放時長,還可以快速進入章節列表,方便管理長篇有聲內容。
![]()
支持睡眠定時、章節切換、智能續播、倍速播放以及快進快退調整,讓碎片時間聽書更加方便。
![]()
支持單冊瀏覽和系列聚合查看,封面、章節以及作品信息集中管理,更適合長期收藏大量漫畫資源。
![]()
支持分頁、滾動以及 Webtoon 閱讀方式,同時可以調整閱讀界面和畫布效果,適配不同類型漫畫。
![]()
項目介紹
完整項目名: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 完成部署。
![]()
BookOrbit 本身需要搭配數據庫使用,所以 Compose 內容會比普通單容器項目稍微長一點,不過實際部署並不複雜,基本還是複製配置、修改目錄和密碼後直接創建即可。
另外最開始羣友在問.env的掛載讀取問題。BookOrbit 官方方案確實是 docker-compose.yml + .env,數據庫賬號、密碼、庫名、JWT Secret、初始化 Token 等都從 .env 讀取。爲了不把部署複雜化,我就直接給全套了。
下面是本次使用的完整 Compose 配置,排版問題請藉助AI:
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創建新的應用程序。
![]()
部署完畢後,瀏覽器輸入NAS_IP:3180即可訪問服務。初始化時,要注意最下面的「設置令牌」,一定要填寫部署時配置的SETUP_BOOTSTRAP_TOKEN中的值。
![]()
創建書庫
註冊好後,便會自動登錄,界面如下。先直接點擊「創建您的第一個庫」。
![]()
對庫進行命名,以及選擇庫的顯示圖標。
![]()
接着選擇該庫需要掛載的目錄,可快捷選擇,也支持手動輸入。
![]()
順帶給大家看看我這臺測試NAS的目錄安排,以及實際選擇情況。
![]()
可以看到,跟我所掛載的/share/Media的子文件夾一致。
![]()
選擇好之後繼續下一步。
接着是選擇掃描方式。「文件夾作爲書」:一個文件夾 = 一個作品條目,裏面的文件屬於同一作品。「文件爲 Book」:一個文件=一個作品條目。我在後續測試過後,給出如下建議:
電子書:選擇「文件爲 Book」
漫畫:根據整理方式選擇,CBZ/CBR 通常建議「文件爲 Book」
有聲書:如果一個作品包含多個音頻文件,建議選擇「文件夾作爲書」
如果你的有聲書直接是一個不分章節的完整文件,則仍然建議「文件爲 Book」
![]()
因爲不同類型作品,文件類型可能分的比較細緻。例如漫畫,就可以只勾選除了.cbz``.epub等漫畫可識別格式,以防止庫被污染。
![]()
接着是Metadata(本地元數據優先級) 設置,以及文件使用格式優先級(根據漫畫/電子書/有聲書種類不同執行調整)。「Embedded metadata」爲文件內置信息,「OPF files」舉個例子如通過 Calibre 生成的metadata.opf裏面有更完整的信息。
![]()
繼續。漢化還是不太完整。解釋下圖:閱讀進度達到 0.25%,自動標記爲正在閱讀;閱讀進度達到 98%,自動標記爲已讀完。
![]()
接着是設置自動檢查新增書籍。
![]()
最後爲元數據刮削。我的建議是都別開,保留原始電子書文件。
![]()
一些配置總結
爲了提升你的閱讀體驗,一定要在控制檯設置好各類作品的閱讀配置,並如下圖選擇「我的賬戶」,這樣所有設備的該賬戶都會統一閱讀習慣!
![]()
大家前期可以創建庫,簡單添加些文件進行測試,不符合預期及時刪除重建規則。畢竟整理到後期才發現某個地方不符合預期,是一件非常噁心的事兒。
![]()
元數據這塊,實際測試下來,對中文用戶最有幫助的應該還是 Google Books。畢竟它背後依靠 ISBN 體系檢索,面對正規出版物時,數據完整度會比一些社區型數據庫更可靠。
BookOrbit 雖然不是面向中文用戶開發的項目(沒有豆瓣/孔夫子這類中文書源),但中文出版物並不是完全沒有覆蓋。很多書籍會同步進入港臺出版市場,繁體版本也會被 Google Books 收錄,所以在匹配中文書籍時,除了簡體書名,有時候嘗試繁體名稱、ISBN,反而更容易找到正確的封面和簡介。
![]()
中文作品的ISBN、封面、作者、簡介等元數據整理,目前還是 Calibre 更強!
左側這個「設備與同步」,支持連接 Kobo、KOReader 等閱讀設備,也提供 OPDS 書庫訪問。通過 OPDS,支持的閱讀器可以直接訪問 NAS 中的電子書,實現在線瀏覽和下載,不需要手動複製文件。對於國內 NAS 用戶來說,OPDS + KOReader 可能是更實用的組合。
![]()
「賬號」中的 Hardcover、Readwise、StoryGraph 等第三方閱讀服務,同步閱讀進度、評分以及筆記等數據。這部分作爲擴展功能使用,國內用的太少太少。
另外,如果大家有字體衝突導致內容顯示錯誤,還可上傳補充字體包。
![]()
關於各個庫
漫畫、電子書/有聲書的刮削原理通用,有聲書其實也基本按照原書的作者簡介封面等進行刮削。
以最麻煩的漫畫爲例吧。
這個軟件比較難受的點在於漫畫集。。。默認是獨立單本,不會像Komga那樣根據文件目錄和命名自動組成系列,反而比較依賴元數據。
![]()
如下圖,我點擊摺疊系列,僅有《地獄楽》進行了摺疊。
![]()
摺疊後,可在左側「瀏覽」-「系列」中查看。
![]()
![]()
關鍵在於元數據的「系列」,要全部分卷統一,並打上匹配的卷號。
![]()
漫畫(特指日漫,歐美我不咋看)的元數據刮削,可獲取基本主要來源爲下圖這倆,更建議通過 ISBN 號搜索刮削。如果大家的自帶,或者有已經刮好的元數據文件,直接上傳那就最好了。
![]()
根據個人喜好,選擇兩者的刮削結果進行組合,最後申請到表單並保存即可。
![]()
封面標題等都可以再調整,滿意之後,建議都鎖上,以免出岔子。最後保存即可。
![]()
我將「狼と香辛料」刮削完畢後,也能成功合成系列,這樣子觀感便好了太多。
![]()
![]()
如果大家對最終調整結果滿意,此時其實也可以選擇在元數據編輯中點擊「寫入文件並重命名」。
關於有聲書,請大家參照我之前說的建庫流程「文件夾作爲書」。NAS的文件如下。
![]()
很多封面是真的難找。。。尤其是網文。。。
![]()
可以看到播放顯示的是總時長。
![]()
章節部分都能清晰顯示,並且也會限時在總進度條中的節點位置。
![]()
效果還是非常不錯的。
最後放一張電子書的列表展示,沒啥好講的了。
![]()
最後
因爲是老外搓的AI項目,要做到真正符合國人口味可能還需要一定的時間,以及更多國內大佬的加入和打磨。
不過目前來說,體驗還不錯吧。
感謝觀看,本文完。
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com
