快轉到主要內容

Docker跑calibre-web,架設閱讀電子書伺服器

分類   Linux系統 Self-hosting自架
標籤   Calibre Docker Ebook Reader
🗓️ 民國112年 癸卯年
✍ 切換正體/簡體字
目錄

calibre是一款跨平台的電子書管理程式,同時也可以變成伺服器供其他裝置存取電子書。

calibre適合管理電子書,如文學作品、工具書、論文,不適合管理漫畫。管理漫畫請改用Komga或 LANraragi

那麼,要怎麼遠端存取calibre管理圖書的界面呢?我們可以用 Docker技術達成。

LinuxServer.io製作的calibre映像檔有二個:

  1. linuxserver/calibre:用Docker跑原版calibre主程式,再用網頁VNC存取介面。如果已經有裝桌面版calibre則跳過此步驟,Docker版圖形效能很差,僅是方便遠端存取,或是啟動內建的content server。

  2. linuxserver/calibre-web:另一名開發者製作的網頁版介面,管理功能很弱,但閱讀介面比calibre內建的content server好,需使用現有的calibre書庫。

我的情況是Linux電腦已用套件管理員安裝了最新版的calibre主程式,並且整理圖書是用桌面版calibre管理,為此我直接跑claibre-web,方便在手機或平板用瀏覽器閱讀電腦上的書籍。

儘管如此,calibre的部分我仍寫出來供各位參考。

1. 架設calibre + KasmVNC
#

簡言之,用Docker跑 calibre原版主程式,再用網頁版的KasmVNC存取圖形介面。僅適合遠端管理書庫,不適合看書。如果純粹要閱讀,請用calibre-web。

Docker版calibre功能跟桌面版的是一樣的,資料庫可以共用,但匯入圖書比較麻煩,放置要匯入圖書的目錄必須一併掛載給容器使用。

  1. 新增存放目錄
mkdir calibre
cd calibre
  1. 新增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
  1. 啟動服務
sudo docker compose up -d
  1. 用瀏覽器開啟http://localhost:8080進入calibre頁面,開始初始化。之後的用法跟桌面版calibre一樣。

  2. 網頁VNC效能不佳,開啟calibre內建閱讀器載入比桌面版久,所以此界面僅方便遠端管理書庫,例如整理標籤、抓取詮釋資料之類的工作。

2. 架設calibre-web
#

calibre web提供現代化的網頁版書庫介面,原始碼可於 Github取得。

calibre-web圖書管理功能很弱,所以理想是用calibre匯入圖書資料,再用calibre-web閱讀。

  1. 新增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
  1. 啟動服務
sudo docker compose up -d
  1. 開啟瀏覽器,從http://localhost:8083存取網頁介面,預設帳號admin,密碼admin123

  2. 登入後設定書庫位置

  3. 之後就可以開始閱讀了,它支援用calibre的標籤搜尋,可以直接在網頁檢視cbz、epub、pdf檔案。不過PDF以外格式都得快取整書本才能閱讀,我覺得速度還是有點慢。

3. 從外部網路存取書庫
#

設定 內網穿透軟體,這樣其他裝置便能存取網頁界面,或是透過OPDS協定瀏覽電子書。

相關文章

你知道Docker會讓Linux的UFW防火牆失效嗎?用ufw-docker解決此問題
分類   Linux系統 Self-hosting自架
標籤   Linux Docker
用網頁圖形化界面管理Docker容器 ~ Portainer安裝教學,一鍵啟動docker-compose、管理image
分類   Linux系統 Self-hosting自架
標籤   Docker Podman
既然ZeroTier記IP太麻煩,不如使用自訂域名
分類   Linux系統 Self-hosting自架
標籤   Docker ZeroTier

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。