Calibre-Web

Calibre-Web
Photo by Jason Leung / Unsplash

So while I was trying to find some solutions to all the problems I ran into with Calibre I had come across people mentioning Calibre-Web and how it is a much better GUI and front end to use than Calibre's. Since I ran into some road blocks trying to set up Calibre's GUI, I've taken a break on that and I'm going to give this a go.

Install Calibre-Web

Steps performed on CALIBRE-01

  • cd /srv
  • wget https://github.com/janeczku/calibre-web/archive/master.zip
  • unzip master.zip
  • mv calibre-web-master/ calibre-web
  • chown -R david:david calibre-web/
  • cd calibre-web/
  • sudo apt install python3-pip

Then I had to hack around a little bit to find the command to actually run.

  • sudo python3 -m pip install --target vendor -r requirements.txt
  • pip install calibreweb

This seems to run and complete. It then tells me I can start calibre-web with the command cps.

  • cps

Well it doesn't error out so that's something! When I try to bring it up in a browser however it times out. Oh! I forgot the firewall!

  • sudo ufw allow 8083

Now it's working! I ultimately got the working commands from Github. I am able to log in now to Calibre-Web.

Steps taken in Calibre-Web

  • Changed admin password
  • Documented new admin password in password manager
  • Created user david
  • Documented user david in password manager

Cool, so I'm going to switch back over to Calibre itself now, but first let's set up the reverse proxy.

Configure Reverse Proxy

Steps performed on NGINX-01

# Configuration for calibre.domain.com
server {
    listen 443;
    server_name calibre.domain.com;
    client_max_body_size 100M;
    location / {
        proxy_set_header Host $host;
        proxy_pass http://calibre.domain.local:8083;
        proxy_redirect off;
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Connection "upgrade";
    }
}
  • I save the file