calibre是一款跨平台的電子書管理程式,同時可以變成伺服器供其他裝置存取電子書。calibre內建「Content server」的功能,其他裝置連APP都不用裝,只要有瀏覽器,就能夠閱讀calibre書庫的書籍。
calibre適合管理電子書,如文學作品、工具書、論文,漫畫勉強也可以。
那麼,要怎麼遠端存取calibre管理圖書的界面呢?我們可以用Docker技術架設遠端閱讀伺服器。
LinuxServer.io為我們打包了Docker映像檔,他們製作的calibre映像檔有二個:
linuxserver/calibre:用Docker跑原版calibre主程式,再用網頁VNC存取介面。如果已經有裝桌面版calibre可跳過此步驟,Docker版圖形效能很差,僅是方便遠端管理書庫,或是啟動內建的Content server。
linuxserver/calibre-web:另一名開發者製作的網頁版介面,書庫管理功能很弱,但閱讀介面比calibre內建的Content server好,會依照螢幕大小自動調整版面。
我整理圖書主要用桌面版calibre管理,為此我直接跑claibre-web,方便在手機或平板用瀏覽器閱讀電腦上的書籍。
儘管如此,calibre的部分我仍寫出來供各位參考。
1. 架設calibre + KasmVNC#
這個步驟是用Docker跑calibre原版桌面版主程式,再用網頁版的KasmVNC存取圖形介面。
僅適合遠端管理書庫,不適合看書。如果純粹要閱讀,請用calibre-web。
Docker版calibre功能跟桌面版的是一樣的,資料庫可以共用,但匯入圖書比較麻煩,放置要匯入圖書的目錄必須一併掛載給容器使用。
- 新增存放目錄
mkdir calibre
cd calibre
- 新增
docker-compose.yml
如下:
---
services:
calibre:
image: lscr.io/linuxserver/calibre:latest
container_name: calibre
security_opt:
- seccomp:unconfined
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Taipei #時區
- PASSWORD= #自訂密碼,用於連線驗證用,預設帳號為abc
- CLI_ARGS=
- CUSTOM_PORT=8080
volumes:
- ./config:/config # 將calibre設定檔放在這個目錄下,可使用現有calibre書庫目錄
ports:
- 8080:8080 #http通訊埠
- 8181:8181 #https通訊埠
- 8081:8081 #calibre內建伺服器通訊埠
restart: unless-stopped
- 啟動服務
sudo docker compose up -d
用瀏覽器開啟
http://localhost:8080
進入calibre頁面,開始初始化。之後的用法跟桌面版calibre一樣。網頁VNC效能不佳,開啟calibre內建閱讀器載入比桌面版久,所以此界面僅方便遠端管理書庫,例如整理標籤、抓取詮釋資料之類的工作。
2. 架設calibre-web#
calibre web提供現代化的網頁版書庫介面,原始碼可於Github取得。
calibre-web圖書管理功能很弱,所以建議先用calibre建立書庫,再用calibre-web閱讀。
- 新增
docker-compose.yml
,填入以下內容:
---
services:
calibre-web:
image: lscr.io/linuxserver/calibre-web:latest
container_name: calibre-web
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Taipei #時區
volumes:
- /home/user/calibre-web/config:/config #calibre-web設定檔存放目錄
- /home/user/calibre/data:/books # calibre書庫目錄
ports:
- 8083:8083
restart: unless-stopped
- 啟動服務
sudo docker compose up -d
開啟瀏覽器,從
http://localhost:8083
存取網頁介面,預設帳號admin
,密碼admin123
登入後設定書庫位置
之後就可以開始閱讀了,它支援用calibre的標籤搜尋,可以直接在網頁檢視cbz、epub、pdf檔案。不過PDF以外格式都得快取整書本才能閱讀,我覺得速度有點慢。
3. 從外部網路存取書庫#
設定內網穿透軟體,這樣其他裝置便能透過http://虛擬區域IP:8083
存取calibre-web的網頁界面,或是透過OPDS協定瀏覽電子書。