My self-hosted discoveries - 29th September 2023

My self-hosted hobby

I thought I’d kick off with a post about my self-hosting hobby, where I host various pieces of software (usually in a Docker container) to either do something useful (e.g. smart home automation or convering paper to digital using paperless-ngx) or something that I just want to explore in more detail. This post will cover what I’ve recently setup and any lessons I’ve learnt from hosting it.

Hugo

I chose Hugo for this website, as I prefer a static website, mainly for speed. I also like thr fact that it uses markdown as it’s post engine. It also offered an oppurtunity to learn git, as I now run this on Cloudlfare pages, absolutely free. My workflow is create and write the new post in a text editor (I use Notepad++ or VS Code in a browser, see later in post) and then spin up a hugo docker shell (in a container), then commit the changes to a private Github respoistory. I then setup Cloudflare pages to automatically build and compile from that same Github repository and host it on my custom domain, jameshammond.net

I’ll do a full post explaining how I (as a relative newbie) got this up and running and how I learnt the basics of Git)

⭐⭐⭐⭐⭐

Hugo

VS Code

Since starting this site, I needed a way when away from home and using local files in Notepad++, I decided to host (via Docker) VSCode in a browser, which allows me to edit and create files when away from home, using the power of the VS Code IDE.

⭐⭐⭐⭐

VSCode in a docker container

Goaccess for NPM

I used Nginx Proxy Manager to manage all my subdomains and certificates (via Letsencrypt), but wanted a way to view all the logs generated by Nginx. Goaccess for NPM is the answer. I don’t check it that often, but it’s a great way to check out what is happening and also see if there are any security concerns.

Screenshot of Goaccess for NPM

⭐⭐⭐⭐

Goaccess for Nginx Proxy Manager

UPS web interface

I recently purchased two Eaton 9130 UPS’s. They are older models (900 watt hours), and I had to replace the batteries in one of them. The total cost was around $150 and it was a great solution to keep my homelab and associated peripherals (switches, routers, access points) running in the event of a power failure. Given the usage of my homelab and focus on low power devices, they should last for around 1 and a half hours, which is more than I need. Once I’d set it up, I needed a way to monitor them, so I ended up connecting them via USB to my docker server and NAS (Unraid) installing apcupsd, a daemon for controlling APC UPSes on each of them. This gave me the ability to log data, but I wanted a nice GUI interface. Enter APC UPS Power Management daemon plus Web Interface, which gives me a single view of both (or more if you have them) UPS’s and all of the associated states (battery charge, time remaining, UPS load, estimated run time)

apcupsd GUI

⭐⭐⭐⭐