群暉 Docker 部署 Calibre Web 打造全功能書庫


功能簡介

平時喜歡搜集網絡上的精品電子書,那么管理成為了一個問題,放在硬盤的一堆電子書文件,想看也不知道看哪本,正好之前安裝的黑群暉,了解到 Calibre web 這樣的一個開源項目,於是就完成了這樣的項目搭建。功能包括:

  1. 管理自己的電子書,可管理海量書籍,包括書籍的分類、作者、簡介等
  2. 可在線觀看、書籍格式轉換、推送到 Kindle 等
  3. 可選:通過 frp 等內外穿透工具實現任意地方訪問

Calibre Web 安裝步驟

前提:安裝好了群暉並安裝了 Docker(需要 CPU 支持)

首先打開群暉管理界面的 Docker,在注冊表里搜索 calibre-web,選擇第二個 Docker 映像雙擊下載。

推薦使用

推薦使用

 

對應的 Docker Hub 地址:technosoft2000/calibre-web - Docker Hub

PS:試過很多的 Calibre web 鏡像,這個鏡像是功能最強大的,包括電子書格式轉換和在線閱讀,而 linuxserver/calibre-web 只能沒有在線閱讀和轉換的功能。

technosoft2000 的鏡像詳細功能如下

等待下載完成后,在映像中,雙擊下載好的映像,則可以創建容器。

創建Calibre web容器

創建 Calibre web 容器

 

官方推薦的啟動代碼為:

1
2
3
4
docker create --name=calibre-web --restart=always \
-v <your Calibre books folder>:/books \
-p <HTTP PORT>:8083 \
technosoft2000/calibre-web
復制

因此我們設置一個文件夾映射和端口映射即可。首先打開 File Station,創建一個用於存放電子書的文件夾,我是直接建立了一個 books 共享文件夾,然后再建立了一個 calibre 文件夾用於存放電子書(推薦)。建好之后,回到 Docker 中來。

設置名稱為 calibre-web,可根據喜好設置,對應代碼中的 --name=calibre-web,然后點擊高級設置。

設置好名稱

設置好名稱

 

勾選啟用自動重新啟動,對應代碼中的 --restart=always,可根據需要設置,若不勾選,則重啟群暉則不自動運行此容器。

自動啟動

自動啟動

 

點擊,添加文件夾,選擇剛剛創建用於存放電子書的文件夾,轉載路徑為 /books,對應代碼中的 -v <your Calibre books folder>:/books

映射文件夾

映射文件夾

 

然后點擊端口映射,設置一個本地端口,不沖突即可,如我的為 25556,那么之后訪問即:http://IP:25556,對應代碼中的:`-p :8083。不推薦使用默認的自動 `,這樣每次重啟會改變端口,造成訪問地址的改變。

端口映射

端口映射

 

點擊應用即可,然后啟動該容器。

這里打開群暉 IP: 端口訪問,如我的 IP 為 192.168.0.102,可以看到已經可以成功打開。

配置書庫

配置書庫

 

在書庫配置中,設置為 /books,點擊保存。

此時會提示數據庫路徑無效,請輸入正確的路徑

報錯

報錯

 

由於 Calibre-web 是基於 Calibre 這款軟件的,書庫里會有 metadata.db 的數據庫文件,而我們創建的文件夾是沒有任何文件。

因此我們電腦中安裝 Calibre,然后用電腦掛載群暉,在此位置建立一個空白書庫(注意:群暉需要安裝 WebDAV Server)。

創建書庫

創建書庫

 

創建書庫

創建書庫

 

完成后,就會在該位置生成一個 metadata.db 的文件。然后重試,提示配置已經更新。

配置

配置

 

若仍出現問題,則在 File Station 中設置一下該文件夾的權限,設置為 Everyone 為讀取、寫入。

點擊登錄,用戶名:admin 密碼:admin123

登錄

登錄

 

終於成功

終於成功

 

配置

設置中文

默認為英文界面,在 admin——language 設置即可。

設置中文

設置中文

 

開啟網頁上傳,對於少量書籍上傳非常實用

在管理權限 —— 編輯基本配置 —— 功能配置中,其它功能也可在此開啟。

啟用上傳

啟用上傳

 

刷新一下頁面,在右上角則出現上傳書籍。測試上傳書籍報錯:

1
數據庫錯誤:(sqlite3.OperationalError) attempt to write a readonly database [SQL: INSERT INTO authors (name, sort, link) VALUES (?, ?, ?)] [parameters: (u'\u672a\u77e5', u'\u672a\u77e5', u'')] (Background on this error at: http://sqlalche.me/e/e3q8)。
復制

原因在於無寫入權限,將創建的文件夾設置為完全控制(讀取、寫入應該就可以了),然后重啟容器,即可解決此問題。

成功在 Web 上傳:

web上傳

web 上傳

 

上傳或編輯書籍時,可點擊最下面的獲取元數據,即可獲得作者、解決、封面圖片等各類信息,這是我非常喜歡的一個功能,很強大。獲取后保存即可,封面更改有時會遲一點生效。

獲取元數據

獲取元數據

 

轉換書籍為 epub 格式從而在線觀看

此程序可以在線觀看 TXT、pdf 和 epub 格式,epub 格式是一個通用的電子書格式,因此將其它書籍轉換為此格式從而在線閱讀。

編輯書籍

編輯書籍

 

轉換為epub格式

轉換為 epub 格式

 

這樣就可以在線閱讀了,有目錄導航,可以添加書簽,全屏閱讀等,並且可以記住閱讀位置,下一次打開接着閱讀(不可跨設備,書簽可以跨設備),體驗非常棒。

在線閱讀

在線閱讀

 

設置 Kindle 推送

可參考:Kindle 推送教程:教你用電子郵箱推送電子書 – 書伴

Kindle 推送稍微復雜點,首先必須有一個亞馬遜賬號,登錄 Kindle(Kindle 軟件或設備都可以)后,會有一個個人文檔郵箱,然后在 Kindle 設備或 APP 或登錄亞馬遜賬號都可以查看,以 @kindle.cn 結尾的郵箱。

第一步,到 Calibre web 中,填寫 Kindle 郵箱;

Kindle郵箱

Kindle 郵箱

 

第二步,配置郵件發送服務器;

配置郵件服務器

配置郵件服務器

 

這里推薦使用 163 郵箱,主機名為 smtp.163.com,配置如下:

郵箱配置

郵箱配置

 

登錄 163 郵箱,開啟 smtp 服務,然后生成一個授權碼:

開啟smtp

開啟 smtp

 

授權碼生成

授權碼生成

 

然后將授權碼填入到 SMTP 密碼一欄。

第三步,將配置的發送郵件服務器添加到 Kindle 已認可郵箱列表

設置中,首選項 —— 個人文檔設置 —— 已認可的發件人電子郵箱列表,添加該郵箱即可。

添加認可的電子郵件

添加認可的電子郵件

 

全部完成后,即可一鍵發送電子書到 Kindle 設備了。

批量上傳電子書

那么如果有大量電子書該如何上傳呢?思路還是一樣,直接用電腦掛載群暉的文件夾,使用 Calibre 打開該書庫,然后就可以批量上傳、管理了。

總結

總之,搭建過程還是較為麻煩,涉及的方面較多,需要了解相關的基礎知識,但是此篇教程我寫的較為詳細,相信只要耐心都能搭建成功,畢竟我使用這個有一段時間了,有的需要注意的地方我都寫出來了,Docker 映像也選擇好了,注意文件夾的權限是一個大坑,搭建不成功很大方面是這個原因。

另外內外穿透方面,這涉及的更多了,提供這一種思路,有能力自行折騰了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM