Here’s a tutorial to get Calibre e-book manager running on Docker. I’ll set this up assuming you already have a Calibre database that exists on your NAS. In my case, I synced my PC’s Calibre books to:
/home/media/ebooks
I will use the linuxserver/caliber image, available here:
Docker Hub
Once you launch the image let’s make the following tweaks to the container.
General settings…
Volume settings…
Two entries should suffice. The first is the path to your existing Calibre database
File/Folder: homes/telos/media/ebooks
Mount path: /Calibre_Library
The next entry is used to store our configuration files locally. I use a shared folder “docker” for my docker configs.
File/Folder: docker/calibre
Mount path: /config
Port settings…
Local Port: Auto
Container Port: 3389
Local Port: 27880
Container Port: 8080
Local Port: 27881
Container Port: 8081
The 8081 port will be used by the Calibre server.
Links settings…
nothing here
Environment settings…
Add your PGID and PUID values
We’re almost there… Let’s save those settings and start the container.
Click the container’s “Details” button and open the terminal tab. You should see no errors.
With that… let’s start the GUI…
In your browser’s address bar, enter the local LAN’s IP/Port. For example…
Calibre will start and ask you where its database should reside. The default is config/Calibre_Library… We need to change that. Open the folder navigation and go to /Calibre_Library. Save that.
If you have books already present in your NAS’ folder… in this example,
/homes/telos/media/ebooks
They should appear on the browser screen. If they do not, refresh your browser tab. Alternately, select the Caliber_Library icon and “Switch/Create library…” and point it to “/Calibre_Library”
You should see your full library…
We’re not done yet… We need to get the server set…
Go to Preferences>Sharing over the net. We want to set up the server so we can download books to our devices, and if necessary change their format. Make the following settings…
Next, select the “User accounts” tab to create a server login (otherwise you will be unable to convert formats).
Let’s keep it simple… for Username and Password, we’ll use… “calibre”
Apply these changes then go back to the Main tab, and click the “Start server” button.
OK… we’re nearly done…
In your browser’s address bar, enter the local LAN’s IP/Port. For example…
You’ll be prompted for the server Username/Password you just created. Click the “Calibre Library” button, and select a book. You may either download it or read it on your browser. Alternatively, you may convert its format, edit its metadata, or delete it.
On my tablet's browser, I enter
And select a book for download to my favorite e-reader.
How simple was that
If I’ve too hurriedly pushed this out and you have errors, let me know.
If you need remote access to your server, you’ll need to forward the Calibre server port, and use your domain or DDNS (or VPN, and use your local LAN IP).
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Update: 2020/07/23
How do I import additional books to the calibre library...
To do that I mapped an additional folder:
File/Folder: docker/calibre/upload
Mount path: /upload
I then move books to be imported into the "docker/calibre/upload" folder. With Calibre open, I use the hotkey "A" which opens a file navigation box. Working back to root "/", select the /upload folder and the ebook(s) you wish to import. Easy peasy.
After importing, book files will remain in the upload folder, so you will need to manually delete them, after importing.
/home/media/ebooks
I will use the linuxserver/caliber image, available here:
Docker Hub
Once you launch the image let’s make the following tweaks to the container.
General settings…
Volume settings…
Two entries should suffice. The first is the path to your existing Calibre database
File/Folder: homes/telos/media/ebooks
Mount path: /Calibre_Library
The next entry is used to store our configuration files locally. I use a shared folder “docker” for my docker configs.
File/Folder: docker/calibre
Mount path: /config
Port settings…
Local Port: Auto
Container Port: 3389
Local Port: 27880
Container Port: 8080
Local Port: 27881
Container Port: 8081
The 8081 port will be used by the Calibre server.
Links settings…
nothing here
Environment settings…
Add your PGID and PUID values
We’re almost there… Let’s save those settings and start the container.
Click the container’s “Details” button and open the terminal tab. You should see no errors.
With that… let’s start the GUI…
In your browser’s address bar, enter the local LAN’s IP/Port. For example…
Calibre will start and ask you where its database should reside. The default is config/Calibre_Library… We need to change that. Open the folder navigation and go to /Calibre_Library. Save that.
If you have books already present in your NAS’ folder… in this example,
/homes/telos/media/ebooks
They should appear on the browser screen. If they do not, refresh your browser tab. Alternately, select the Caliber_Library icon and “Switch/Create library…” and point it to “/Calibre_Library”
You should see your full library…
We’re not done yet… We need to get the server set…
Go to Preferences>Sharing over the net. We want to set up the server so we can download books to our devices, and if necessary change their format. Make the following settings…
Next, select the “User accounts” tab to create a server login (otherwise you will be unable to convert formats).
Let’s keep it simple… for Username and Password, we’ll use… “calibre”
Apply these changes then go back to the Main tab, and click the “Start server” button.
OK… we’re nearly done…
In your browser’s address bar, enter the local LAN’s IP/Port. For example…
You’ll be prompted for the server Username/Password you just created. Click the “Calibre Library” button, and select a book. You may either download it or read it on your browser. Alternatively, you may convert its format, edit its metadata, or delete it.
On my tablet's browser, I enter
And select a book for download to my favorite e-reader.
How simple was that
If I’ve too hurriedly pushed this out and you have errors, let me know.
If you need remote access to your server, you’ll need to forward the Calibre server port, and use your domain or DDNS (or VPN, and use your local LAN IP).
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Update: 2020/07/23
How do I import additional books to the calibre library...
To do that I mapped an additional folder:
File/Folder: docker/calibre/upload
Mount path: /upload
I then move books to be imported into the "docker/calibre/upload" folder. With Calibre open, I use the hotkey "A" which opens a file navigation box. Working back to root "/", select the /upload folder and the ebook(s) you wish to import. Easy peasy.
After importing, book files will remain in the upload folder, so you will need to manually delete them, after importing.