The Calibre library server is a great way to store your e-books. It allows you to:
Installation
Install the Calibre package.
apt update && apt install calibre
mkdir /opt/calibre
Either upload your existing library using scp. For example to /opt/calibre/
On client:
scp -r ~/Documents/your_library 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
Add a new user.
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
[Install]
WantedBy=multi-user.target
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 password.
After login you will see something like this.
Author: rflx -- website -- XMR: 48T5XpHTXAZ5Nn8YCypA4aWn1ffQLHJkFGDArXQB6cmrP6cqLY72cu7CR2iq2MmL5Ndu3d47e5MKjGpL4prYgdrTCFAHD9c