Giter Club home page Giter Club logo

docker-calibre-web's Introduction

Calibre Web docker image

screenshot

This Dockerfile provides the janeczku/calibre-web image based on CentOS 7, Supervisord, Gunicorn and Nginx reverse proxy.

About Calibre Web

Calibre Web is a Python web app allowing one to browse, download and read the books contained in a Calibre e-book collection.

GitHub project:

https://github.com/janeczku/calibre-web/

Getting Started

You can make your Calibre database available to the container either by mounting the host folder to /calibre or by mounting an existing volume from another container. The latter method comes in handy if you want to sync the Calibre database from a NAS, Dropbox or similar share.

Using a Calibre database folder located on the host

docker run -d --name calibre-web \
-v /path/to/calibre/database/folder:/calibre \
-p 8080:80 janeczku/calibre-web

Using a Calibre database folder located in an existing volume

In this example we are first launching the Docker Dropbox image to sync the Calibre database from a Dropbox account to a volume on the host. Subsequently we can then mount this volume in the Calibre Web container, so that the ebook database is always up-to-date. It is recommended to use a distinct Dropbox account for this purpose as the container will download all data from the linked account by default (Alternatively you can set-up selective sync - see "manage exclusions" below)

Launch the Docker Dropbox container.

docker run -d --restart=always --name=dropbox \
-e DBOX_UID=80 \
-e DBOX_GID=80 \
janeczku/dropbox

Check the logs of the container to get URL to authenticate with your Dropbox account.

docker logs dropbox

Copy and paste the URL in a browser and login to your Dropbox account to associate.

docker logs dropbox

You should see something like this:

"This computer is now linked to Dropbox. Welcome xxxx"

To manage exclusions and check sync status do:

docker exec -t -i dropbox dropbox help

The docker dropbox image stores the synced files in the /dbox/Dropbox volume. When mounting the exposed volumes to the Calibre Web container, we have to tell it about the location of the Calibre database by supplying it in the CALIBRE_PATH ENV variable. Supposing the Calibre database folder is named Calibre and located in the root of the Dropbox account we do the following:

docker run -d --name calibre-web \
--volumes-from dropbox \
--env CALIBRE_PATH=/dbox/Dropbox/Calibre \
-p 8080:80 janeczku/calibre-web

Using the app - Quick start

  1. Point your browser to http://hostname:8080 (or whatever host port you mapped the container to)
  2. Set Location of Calibre database to the path of the folder where you mounted your Calibre folder in the container (e.g. /calibre)
  3. Hit "submit" then "login".

Default admin login:
Username: admin
Password: admin123

To access the OPDS catalog feed, point your Ebook Reader to http://hostname:8080/opds.

ENV variables

SSL_CERT_NAME
Default:

To use a custom SSL certificate copy or mount the crt file to /etc/nginx/ssl and set this environment variable to the cert's filename, e.g. "example.com.crt". Don't forget modify your docker run command to map port 443 from the container to the host.

SSL_KEY_NAME
Default:

To use a custom SSL certificate copy or mount the private key file to /etc/nginx/ssl and set this environment variable to the key's filename, e.g. "example.com.key".

docker-calibre-web's People

Contributors

gutenye avatar janeczku avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.