Novaa's Site Coding poorly and plenty

Published: Apr 18th, 2024

Using my server to its fullest potential

I took a look through Awesome Selfhosted and found a couple neat programs I would like to have running.

Calibre

I started with Calibre. I had a friend who was attempting to run it on his own, and he was having some trouble. I figured what the hell, I've got a server lying around, let's help him out.

Pretty simple to setup, installed it through pip, created a simple systemd service:


[Unit]
Description=Calibre Web Server
After=network.target
[Service]
User=novaa
ExecStart=/home/novaa/.local/bin/cps

[Install]
WantedBy=multi-user.target

This allows me to run it through systemd, which makes it easier to manage, aswell as automating startup.

Now, the port that this defaults to is 8083, and since I'm already running a web server on this server, we're going to need a reverse proxy to be able to run this over the same domain.

On my domain manager, I added a new A DNS record, simply allocating a new subdomain of "lib".

Then, in my lighttpd config I added the following:

/etc/lighttpd/lighttpd.conf


server.modules += ("mod_proxy")
$HTTP["host"] == "lib.novaa.xyz" {
	proxy.server = ("" => ( ( "host" => "novaa.xyz", "port" => "8083" ) ) )
}

That's it!

The remaining work just involved configuring Calibre the way I desired. Pretty simple right?

BUKU

I saw this and thought it was great, quite simple, exactly what I wanted. A lightweight and minimal bookmark manager.

The setup for Bukuserver was a little more involved than Calibre.

It started the same, installed it through pip.

Then I had to setup a bash file to run the server, since as I said, it's a little more involved:


#!/bin/sh

/home/novaa/.local/bin/./bukuserver run --host <local ip> --port 5001

And likewise, created a systemd service, identical to the one above, and added a reverse proxy instance to get it running.

From there I edited the template files (/home/novaa/.local/lib/python3.9/site-packages/bukuserver/templates), to give a custom look to my buku instance.