功能簡介
平時喜歡搜集網絡上的精品電子書,那么管理成為了一個問題,放在硬盤的一堆電子書文件,想看也不知道看哪本,正好之前安裝的黑群暉,了解到 Calibre web 這樣的一個開源項目,於是就完成了這樣的項目搭建。功能包括:
- 管理自己的電子書,可管理海量書籍,包括書籍的分類、作者、簡介等
- 可在線觀看、書籍格式轉換、推送到 Kindle 等
- 可選:通過 frp 等內外穿透工具實現任意地方訪問
Calibre Web 安裝步驟
前提:安裝好了群暉並安裝了 Docker(需要 CPU 支持)
首先打開群暉管理界面的 Docker,在注冊表里搜索 calibre-web
,選擇第二個 Docker 映像雙擊下載。
對應的 Docker Hub 地址:technosoft2000/calibre-web - Docker Hub
PS:試過很多的 Calibre web 鏡像,這個鏡像是功能最強大的,包括電子書格式轉換和在線閱讀,而 linuxserver/calibre-web 只能沒有在線閱讀和轉換的功能。
technosoft2000 的鏡像詳細功能如下
等待下載完成后,在映像中,雙擊下載好的映像,則可以創建容器。
官方推薦的啟動代碼為:
1 |
docker create --name=calibre-web --restart=always \ |
因此我們設置一個文件夾映射和端口映射即可。首先打開 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 上傳:
上傳或編輯書籍時,可點擊最下面的獲取元數據,即可獲得作者、解決、封面圖片等各類信息,這是我非常喜歡的一個功能,很強大。獲取后保存即可,封面更改有時會遲一點生效。
轉換書籍為 epub 格式從而在線觀看
此程序可以在線觀看 TXT、pdf 和 epub 格式,epub 格式是一個通用的電子書格式,因此將其它書籍轉換為此格式從而在線閱讀。
這樣就可以在線閱讀了,有目錄導航,可以添加書簽,全屏閱讀等,並且可以記住閱讀位置,下一次打開接着閱讀(不可跨設備,書簽可以跨設備),體驗非常棒。
設置 Kindle 推送
可參考:Kindle 推送教程:教你用電子郵箱推送電子書 – 書伴
Kindle 推送稍微復雜點,首先必須有一個亞馬遜賬號,登錄 Kindle(Kindle 軟件或設備都可以)后,會有一個個人文檔郵箱,然后在 Kindle 設備或 APP 或登錄亞馬遜賬號都可以查看,以 @kindle.cn
結尾的郵箱。
第一步,到 Calibre web 中,填寫 Kindle 郵箱;
第二步,配置郵件發送服務器;
這里推薦使用 163 郵箱,主機名為 smtp.163.com
,配置如下:
登錄 163 郵箱,開啟 smtp 服務,然后生成一個授權碼:
然后將授權碼填入到 SMTP 密碼一欄。
第三步,將配置的發送郵件服務器添加到 Kindle 已認可郵箱列表
在設置中,首選項 —— 個人文檔設置 —— 已認可的發件人電子郵箱列表,添加該郵箱即可。
全部完成后,即可一鍵發送電子書到 Kindle 設備了。
批量上傳電子書
那么如果有大量電子書該如何上傳呢?思路還是一樣,直接用電腦掛載群暉的文件夾,使用 Calibre 打開該書庫,然后就可以批量上傳、管理了。
總結
總之,搭建過程還是較為麻煩,涉及的方面較多,需要了解相關的基礎知識,但是此篇教程我寫的較為詳細,相信只要耐心都能搭建成功,畢竟我使用這個有一段時間了,有的需要注意的地方我都寫出來了,Docker 映像也選擇好了,注意文件夾的權限是一個大坑,搭建不成功很大方面是這個原因。
另外內外穿透方面,這涉及的更多了,提供這一種思路,有能力自行折騰了。