Banner designed by Sabrina W. Reid (@sans_mercy_)

Archie: Adventures in Self-hosting

I had an old HP ProBook 640 laying around, and wanted to give it new life as a web server. I got a domain from Cloudflare, and made this website to run on it — from the backend to this page!

The main server runs on Arch Linux, with worker nodes running NixOS. The backend is custom-built in Rust, using the Axum framework. For the guestbook, I'm using a MySQL database to store and retrieve the entries, as well as log homepage hits.

The whole setup is fully containerized, with the server and database each running in their own containers. After inheriting a few computers from my last job that weren't compatible with Windows 11, I expanded the setup into a Kubernetes cluster (using k3s specifically). Now those containers are replicated and load-balanced across several server nodes. Changes are deployed only after a passing a full test suite using GitHub Actions and Ansible.

This project was all hand-coded, with no AI assistance beyond Google's overview results (and even then, only sparingly). You can see all the code used to serve this webpage on GitHub.


The cluster in question
This is what serves this webpage!
Arch Linux logo
Running on Arch (btw)

I hope you enjoy this little project of mine — I sure have!