From ce5ba1a4a1387808c0e12041a630f85af774fb81 Mon Sep 17 00:00:00 2001 From: rflx Date: Sat, 3 Jul 2021 00:46:11 +0300 Subject: Add a Calibre article --- calibre.html | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 calibre.html (limited to 'calibre.html') diff --git a/calibre.html b/calibre.html new file mode 100644 index 0000000..f14062a --- /dev/null +++ b/calibre.html @@ -0,0 +1,141 @@ + + + + Setting up a Calibre library server – LandChad.net + + + + + + + +

Setting up a Calibre library server

+ +
+

+ The Calibre library server is a great way to store your e-books. + It allows you to: +

  • Share your books with others.
  • +
  • Easily transfer your books between devices and access them from anywhere.
  • +

    + +

    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;
    +	server_name calibre.example.org;
    +	
    +    location /calibre {
    +        proxy_pass http://127.0.0.1:8080;
    +        proxy_set_header Host $http_host;
    +        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    +        proxy_set_header X-Scheme $scheme;
    +        proxy_set_header X-Script-Name /calibre;
    +    }
    +}
    + +

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

    + +
    certbot --nginx
    + +

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

    + + + calibre + + +

    + After login you will see something like this. +

    + + + calibre + + +
    + +

    + By rflx -- website -- XMR: rflx.xyz +

    +
    + + + + -- cgit v1.2.3