calibre是一款跨平台的電子書管理程式,同時也可以變成伺服器供其他裝置存取電子書。
calibre適合管理電子書,如文學作品、工具書、論文,不適合管理漫畫。管理漫畫請改用Komga或 LANraragi
那麼,要怎麼遠端存取calibre管理圖書的界面呢?我們可以用 Docker技術達成。
LinuxServer.io製作的calibre映像檔有二個:
linuxserver/calibre
:用Docker跑原版calibre主程式,再用網頁VNC存取介面。如果已經有裝桌面版calibre則跳過此步驟,Docker版圖形效能很差,僅是方便遠端存取,或是啟動內建的content server。linuxserver/calibre-web
:另一名開發者製作的網頁版介面,管理功能很弱,但閱讀介面比calibre內建的content server好,需使用現有的calibre書庫。
我的情況是Linux電腦已用套件管理員安裝了最新版的calibre主程式,並且整理圖書是用桌面版calibre管理,為此我直接跑claibre-web,方便在手機或平板用瀏覽器閱讀電腦上的書籍。
儘管如此,calibre的部分我仍寫出來供各位參考。
1. 架設calibre + KasmVNC#
簡言之,用Docker跑 calibre原版主程式,再用網頁版的KasmVNC存取圖形介面。僅適合遠端管理書庫,不適合看書。如果純粹要閱讀,請用calibre-web。
Docker版calibre功能跟桌面版的是一樣的,資料庫可以共用,但匯入圖書比較麻煩,放置要匯入圖書的目錄必須一併掛載給容器使用。
- 新增存放目錄
mkdir calibre
cd calibre
- 新增
docker-compose.yml
如下:
version: "2.1"
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
,填入以下內容:
version: "2.1"
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/config:/config #calibre-web設定檔存放目錄
- /home/user/calibre/data:/books #calibre書庫目錄,使用現有的calibre書庫
ports:
- 8083:8083
restart: unless-stopped
- 啟動服務
sudo docker compose up -d
開啟瀏覽器,從
http://localhost:8083
存取網頁介面,預設帳號admin
,密碼admin123
登入後設定書庫位置
之後就可以開始閱讀了,它支援用calibre的標籤搜尋,可以直接在網頁檢視cbz、epub、pdf檔案。不過PDF以外格式都得快取整書本才能閱讀,我覺得速度還是有點慢。
3. 從外部網路存取書庫#
設定 內網穿透軟體,這樣其他裝置便能存取網頁界面,或是透過OPDS協定瀏覽電子書。