快轉到主要內容

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

· 民國114年乙巳年
·
切換繁體/簡體
分類   Linux系統 Self-hosting自架
標籤   Calibre Docker Ebook Reader
目錄

calibre是一款跨平台的電子書管理程式,支援處理.mobi、.epub、.cbz、.pdf等多種電子書格式,同時可以變成伺服器供其他裝置存取電子書。

calibre功能豐富,適合管理電子書,如文學作品、工具書、論文,漫畫勉強也可以。

我們知道calibre是桌面應用程式,要在有接上螢幕的電腦才可以使用。那麼如果是NAS或Linux伺服器怎麼辦呢?我們可以用Docker技術解決。

LinuxServer.io為我們打包了Docker映像檔,他們製作的calibre映像檔有二個:

一、linuxserver/calibre:用Docker跑headless X11,執行原版calibre主程式,再用網頁VNC存取介面。這個版本圖形效能很差,僅是方便遠端管理書庫,或是啟動內建的Content server。

在iPad瀏覽器的閱讀界面長這樣,就是直接顯示桌面版calibre閱讀器的界面。

二、linuxserver/calibre-web:另一名開發者製作的網頁版介面,具有簡單的中繼資料管理面板。需要calibre書庫才能使用。

calibre-web內建閱讀器,閱讀介面比calibre內建的Content server好,會依照螢幕大小自動調整版面。

在iPad瀏覽器的閱讀界面,EPUB會自動依照螢幕大小重排文字。

PDF則是類似Chrome的PDF檢視器,以PDF.js瀏覽文件內容,不用下載就能看。

以上兩個方案很適合部署到NAS或Linux伺服器,因為沒有螢幕自然就不能使用calibre桌面版了。透過Docker跑calibre,你就能在NAS上進行書籍管理。再搭配calibre-web,方便在手機或平板,用瀏覽器閱讀NAS上的書籍。

這樣做的好處是什麼呢?將所有的書籍集中在一處,其他裝置連APP都不用裝,只要有瀏覽器,就能夠閱讀calibre書庫的書籍。

1. 架設calibre + KasmVNC
#

這個步驟是用Docker跑calibre原版桌面版主程式,再用網頁版的KasmVNC存取圖形介面。

僅適合遠端管理書庫,不適合看書。如果純粹要閱讀,請用calibre-web。

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

  1. 新增存放資料的目錄
mkdir -p ~/calibre

# 如果沒有現有書庫,就新增這個空目錄
mkdir -p ~/calibre/calibre書庫 

# 書籍需要匯入到calibre資料庫才能閱讀,新增這個存放要匯入書籍的目錄,方便從其他地方上傳檔案
mkdir -p ~/calibre/import

cd calibre

vim docker-compose.yml
  1. 新增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書庫目錄
      - ./calibre書庫:/config/calibre書庫 # 將目前的calibre書庫掛載到容器內的/config/calibre書庫,也可以使用現有書庫
      - ./import:/config/import # 將尚未匯入到calibre的電子書目錄掛載到容器內部
    ports:
      - 8080:8080 # calibre網頁對外通訊埠(http),冒號左邊可以修改
      - 8181:8181 # calibre網頁對外通訊埠(https)
      - 8081:8081 #calibre內建伺服器通訊埠
    restart: unless-stopped
  1. 啟動服務
sudo docker compose up -d
  1. 用瀏覽器開啟http://localhost:8080http://伺服器區域IP:8080,進入calibre頁面,輸入預設帳號abc,還有上面設定的密碼。

  2. 設定書庫路徑。注意預設的有空格,應該要選取calibre書庫這個目錄。

  3. 之後的用法跟桌面版calibre一樣,將書籍檔案上傳到剛剛新增的~/calibre/import/目錄,再於calibre界面點選左上角的「加入書本」,選取/config/import/目錄下的書籍匯入。

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

2. 架設calibre-web
#

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

calibre-web書籍管理功能很弱,所以建議先用calibre建立書庫,再用calibre-web閱讀。

  1. 建立存放資料的目錄
mkdir -p ~/calibre-web

cd ~/calibre-web

vim docker-compose.yml
  1. 新增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:
      - ./config:/config #calibre-web設定檔存放在目前目錄下
      - /home/user/calibre/calibre書庫:/books # 將calibre書庫目錄與calibre-web共享
    ports:
      - 8083:8083 # calibre-web對外通訊埠,冒號左邊可以修改
    restart: unless-stopped
  1. 啟動服務
sudo docker compose up -d
  1. 開啟瀏覽器,從http://localhost:8083存取網頁介面,預設帳號admin,密碼admin123

  2. 登入後設定書庫位置

  3. 之後就可以開始閱讀了,它支援用calibre的標籤搜尋,可以直接在網頁檢視.mobi、.cbz、.epub、.pdf檔案。

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

設定內網穿透軟體,這樣其他裝置便能透過http://虛擬區域IP:8083存取calibre-web的網頁界面,或是透過OPDS協定瀏覽calibre的書庫。

相關文章

透過LinuxServer.io打包的Docker映像檔,將桌面程式轉成網頁版,透過瀏覽器即可使用
分類   Linux系統 Self-hosting自架
標籤   Docker Remote Desktop VNC
Gluetun:讓Docker容器走VPN連線,沒網路就斷線,使用教學
分類   Linux系統 Self-hosting自架
標籤   Docker VPN Torrent
LANraragi,網頁整理同人本漫畫,支援自動上E-hentai標籤,Docker版部署教學
分類   Linux系統 Self-hosting自架
標籤   Media Server E-Hentai Mihon Doujinshi Docker

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

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