Calibre

The Calibre library server is a great way to store your eBooks. It allows you to:

Installation

Install the Calibre package. You might also want rsync to upload books.

apt install -y calibre rsync
mkdir /opt/calibre

Either upload your existing library using rsync. For example to /opt/calibre/.

cd ~/Documents
rsync -avuP your-library-dir root@example.org:/opt/calibre/

Or create a library and add a book to it:

cd /opt/calibre
calibredb add book.epub --with-library your-library

For more information about the calibredb command see man calibredb.

Add a new user to protect your server:

calibre-server --manage-users

Creating a service

Create a new file /etc/systemd/system/calibre-server.service and add the following:

[Unit]
Description=Calibre library server
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/bin/calibre-server --enable-auth --enable-local-write /opt/calibre/your_library --listen-on 127.0.0.1

[Install]
WantedBy=multi-user.target

You can change the port with the --port prefix. Additional information man calibre-server.

Issue systemctl daemon-reload to apply the changes.

Enable and start the service.

systemctl enable calibre-server
systemctl start calibre-server

A reverse proxy with Nginx

Create a new file /etc/nginx/sites-available/calibre and enter the following:

server {
    listen 80;
    client_max_body_size 64M; # to upload large books
    server_name calibre.example.org ;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

Issue a Let's Encrypt certificate. Detailed instructions and additional information.

certbot --nginx

Now just go to calibre.example.org. The server will request an username and a password.

calibre

After login you will see something like this.

calibre

Contribution

Author: rflx – website -- XMR: 48T5XpHTXAZ5Nn8YCypA4aWn1ffQLHJkFGDArXQB6cmrP6cqLY72cu7CR2iq2MmL5Ndu3d47e5MKjGpL4prYgdrTCFAHD9c