Docker - Calibre-web Container Setup with New Calibre Database
I use Calibre-web to sync e-books to my Kobo eReader. Here I describe my setup of the Docker Calibre-web container.
Setup
I run this Docker container on a Ubuntu VM that runs via [[ Proxmox VE ]]. I perform the following on the CLI.
Docker pull command:
docker pull linuxserver/calibre-web
Within my home folder I have created a Docker folder where I create a subfolder for each container:
cd ~
mkdir -p docker/calibreweb
cd docker/calibreweb
Also create the folders where the calibre-web books and config can be stored:
mkdir books
mkdir config
I use the Nano text editor to create a shell script:
sudo nano calibreweb_run.sh
With this shell script we are going to create the container.
Copy the following into calibreweb_run.sh
:
IDu=$(id -u $(logname)) # Saves the logged in user id in the IDu variable
IDg=$(id -g $(logname)) # Saves the logged in user group in the IDg variable
docker run -d \
--name=calibreweb \
--hostname=calibreweb \
-p 8083:8083 \
-e PUID=$IDu \
-e PGID=$IDg \
-e TZ=Europe/Amsterdam \
-e DOCKER_MODS=linuxserver/calibre-web:calibre \
-v $PWD/config:/config \
-v $PWD/books:/books \
--restart unless-stopped \
linuxserver/calibre-web
If necessary, adjust the following:
-p 8083:8083
Choose a port that is still available. Check this with netstat
-e TZ=Europe/Amsterdam
Pick the right timezone
-e DOCKER_MODS=linuxserver/calibre-web:calibre
(optional) x86-64 only. Adds the ability to perform ebook conversion
-v $PWD/config:/config
Choose the location for the Calibre-web configuration. In this example it is the config map we created.
-v $PWD/books:/books
Choose the location for the Calibre-web books and metadata/database. In this example it is the books map we created.
Exit Nano (CTRL-X) and save the changes.
Now create the container:
sudo sh calibreweb_run.sh
Check if the container is running properly.
See also my notes about updating containers with Portainer or via the CLI. With Synology’s Docker Application, updating a container is also very easy.
Create the Calibre Database
Below is described how you can create a new Calibre database.
This is a one time thing and the container can be safely updated because the database is stored outside the container via the /books
mapping.
You can skip this step if you are using an existing Calibre database.
Go to the shell inside the container (make sure the container is running):
docker exec -it calibreweb sh #open shell in the container
And do the following:
cd /app/calibre/bin #go to the bin folder
calibredb restore_database --really-do-it --with-library /books #create a new db
chmod a+w /books/metadata.db #add write privileges
exit
Calibre-web Configuration
Calibre-web can now be accessed via the following URL:
http://<IP DOCKER HOST>:8083
- Enter
/books
as your Calibre library location. - Login with the default username
admin
and passwordadmin123
. - Now go to the profile of admin by clicking on
Account
(top right) andadmin
or by going tohttp://IP:8083/me
(use the IP of your docker host). Change the username, password and other settings if desired. - Now open the
Settings
and clickEdit Basic Configuration
, expandExternal Binaries
and add the following:- Location of Unrar binary:
/usr/bin/unrar
- Path to Kepubify E-Book Converter:
/usr/bin/kepubify
- Path to Calibre E-Book Converter:
/usr/bin/ebook-convert
(only when you have enabled book conversion when creating the container viaDOCKER_MODS=linuxserver/calibre-web:calibre
)
- Location of Unrar binary:
Make sure Enable Uploads
is checked under Feature Configuration
so that you can upload e-books. Under Feature Configuration
you can also enable Kobo Sync
, but I have described that in detail here.
Click Save
when you are done configuring.
Read other notes
Tags
Notes mentioning this note
- Calibre-web - Sync Shelves with Kobo Device
I use Calibre-web to sync e-books to my Kobo eReader.
Comments
No comments found for this note.
Join the discussion for this note on this ticket. Comments appear on this page instantly.