Marlon's Wiki

it's better when it's simpler

User Tools

Site Tools


start:software:calibre

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!

You might wanna See

Reverting Calibre Installation

start/software/calibre.txt · Last modified: 2024/12/14 16:33 by marlonivo

Donate Marlon Ivo's Webpage