Table of Contents
Calibre
The Calibre library server allows you to:
- Share your books with others.
- Easily transfer your books between devices and access them from anywhere.
Installation
Install the Calibre package. You might also want rsync to upload books.
apt install -y calibre rsync mkdir /opt/calibre
Upload your local library (using rsync) to /opt/calibre/
and save the command somewhere.
rsync -avuP --delete-after ~/local_library/ root@example.org:/opt/calibre/server_library/
Then add a new user to protect your server:
calibre-server adduser name
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/library --listen-on 127.0.0.1 [Install] WantedBy=multi-user.target
to apply the change:
systemctl daemon-reload
Enable and start the service.
systemctl enable calibre-server systemctl start calibre-server
Creating the Server with Nginx
Create a new file /etc/nginx/sites-available/library and enter the following:
server { listen 80; client_max_body_size 64M; # to upload large books server_name library.example.org ; location / { proxy_pass http://127.0.0.1:8080; } }
Then symlink to sites-enabled:
ln -s /etc/nginx/sites-available/library /etc/nginx/sites-enabled
Then issue a Let's Encrypt certificate.
certbot --nginx
Now add the DNS Records to point the calibre-sever to your name-server.
Type | Name | Points to | TTL |
CNAME | library | example.xyz | 1m |
Now just go to library.example.org, the server will request the username and password you've set above.
ENJOY!