🐳Docker image for 📚Calibre Web, based on Alpine.
5.2K
Calibre Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.
Calibre Web comes with the following features:
If you want to know more you can head over to the Calibre Web project site: https://github.com/janeczku/calibre-web.
And if you are interested in the original Calibre ebook management tool then look at the project site: https://calibre-ebook.com/.
glibc and therefore https://github.com/sgerrand/alpine-pkg-glibc is installed/books volume, e.g. /volume1/books because it results into problems with directory permissons. Create instead a subdirectory calibre at /volume1/books and map then /volume1/books/calibre as volume for /bookshttp://hostname:<HTTP PORT> e.g. http://hostname:8083http://hostname:8083/admin/dbconfig and set it to the path of the folder where you mounted your Calibre folder in the container. This is /books by default.Default admin login:
After successful login change the default password and set the email adress.
To access the OPDS catalog feed, point your Ebook Reader to http://hostname:<HTTP PORT>/opds
at Admin -> Basic Configuration -> E-Book converter you've to set the converter which you want to use:
/opt/calibre/ebook-convert
and at About you will see then Calibre converter ebook-convert (calibre 5.9.0)-v /volume1/docker/apps/calibre-web/app:/calibre-web/app
then you'll get the following issue at startup[INFO] Checkout the latest Calibre-Web version ...
[INFO] Autoupdate is active, try to pull the latest sources for Calibre-Web ...
[INFO] ... current git status is
fatal: not a git repository (or any parent up to mount point /calibre-web)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
[INFO] ... pulling sources
fatal: not a git repository (or any parent up to mount point /calibre-web)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
[INFO] ... git status after update is
fatal: not a git repository (or any parent up to mount point /calibre-web)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
To solve the issue delete the old files at -v /volume1/docker/apps/calibre-web/app:/calibre-web/app
before you create and start the container.
Create the container:
docker create --name=calibre-web --restart=always \
-v <your Calibre books folder>:/books \
[-v <your Calibre Web application folder>:/calibre-web/app] \
[-v <your Calibre Web config folder>:/calibre-web/config \]
[-e APP_REPO=https://github.com/janeczku/calibre-web.git \]
[-e APP_BRANCH=master \]
-p <HTTP PORT>:8083 \
svasek/calibre-web
Example:
docker create --name=calibre-web --restart=always \
-v /volume1/books/calibre:/books \
-v /etc/localtime:/etc/localtime:ro \
-p 8083:8083 \
svasek/calibre-web
or
docker create --name=calibre-web --restart=always \
-v /volume1/books/calibre:/books \
-v /volume1/docker/apps/calibre-web/config:/calibre-web/config \
-e TZ=Europe/Prague \
-p 8083:8083 \
svasek/calibre-web
Start the container:
docker start calibre-web
The parameters are split into two parts which are separated via colon.
The left side describes the host and the right side the container.
For example a port definition looks like this -p external:internal and defines the port mapping from internal (the container) to external (the host).
So -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080.
Accessing http://'host':8080 (e.g. http://192.168.0.10:8080) would then show you what's running INSIDE the container on port 80.
-p 8083 - http port for the web user interface-v /books - local path which contains the Calibre books and the necessary metadata.db which holds all collected meta-information of the books-v /calibre-web/app - local path for Calibre Web application files; set this volume if you want to use Google Drive-v /calibre-web/config - local path for Calibre Web config files, like app.db and gdrive.db-e APP_REPO - set it to the Calibre Web GitHub repository; by default it uses https://github.com/janeczku/calibre-web.git - optional-e APP_BRANCH - set which Calibre Web GitHub repository branch you want to use, master (default branch) - optionalJust set the enviroment variable TZ :
Examples:
UTC - this is the default value if no value is setEurope/PragueAmerica/New_YorkShell access whilst the container is running: docker exec -it calibre-web /bin/bash
Upgrade to the latest version of Calibre Web: docker restart calibre-web
To monitor the logs of the container in realtime: docker logs -f calibre-web
To monitor the logs of Calibre Web: docker exec -it calibre-web tail -f /calibre-web/app/calibre-web.log
Show used base image version number of Calibre Web: docker inspect -f '{{ index .Config.Labels "image.base.version" }}' calibre-web
Show used image version number of Calibre Web: docker inspect -f '{{ index .Config.Labels "image.version" }}' calibre-web
Login into the DSM Web Management
Connect with SSH to your NAS
sudo -i
or
sudo su -
for the password use the same one which was used for the SSH authentication.
mkdir -p /volume1/docker/
chown root:root /volume1/docker/
docker pull svasek/calibre-web
docker create --name=calibre-web --restart=always \
-v /volume1/books/calibre:/books \
-e TZ=Europe/Prague \
-e PGID=65539 -e PUID=1029 \
-p 8083:8083 \
svasek/calibre-web
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
40cc1bfaf7be svasek/calibre-web "/bin/bash -c /init/s" 8 seconds ago Created
docker start calibre-web
Content type
Image
Digest
sha256:23e20ff97…
Size
130.7 MB
Last updated
about 2 years ago
docker pull svasek/calibre-web