Home server creation diary
Last Edited: Sat Aug 22 18:13:54 EDT 2026
A blogpost/log of making a home server environment, and re-tooling my webserver to use the home-server.
August 18: Motivation
Dear Diary, recently I've been wanting more out of my home computing environment. Retro and alternative OSs like Plan9 and Inferno have been utterly fascinating to me here lately, and this fascination coincides very nicely with a project I've been wanting to do for awhile: Ansible-ify my webserver (this very one you, reader, are using to read this post!).
I'm a bit uneasy about buying new tech. I prefer to buy things used, as you know, and I really enjoy the process of making something old become something new again. So, with that I'm going to start looking around for an old Mini PC I can just put in my router's cabinet. Don't want to rush into it, so I'll do it tomorrow.
August 19: Purchase and ideation
Dear Diary, today I bought something. I picked up a Shuttle XPC NC03U off of facebook marketplace. I don't know which processor it came with, probably the i3 but I'll be pleasantly surprised if it's the i5 (it'd be amazing if it's the i7, but I doubt it). It comes with 4GB of RAM and 32 GB SSD, which is not much, but hey it's a basic server so it'll be alright. I don't plan on port forwarding, so here's the plan to make it all work together:
Linode Nanode: Outer network edge
- Nginx as the cache and to reverse proxy through my
- Wireguard node, and
- fail2ban to add a layer of security
Home server: The real power behind the operation
- Wireguard node
- Syncthing node
- Clojure webserver (this one)
- Forgejo git forge (to replace the current cgit operation)
- Anki server
- DNS/DHCP (pi hole or something like it)
Then, if there is room,
- 9front qemu node
- inferno hosted
August 21: Disaster
Well. Dear diary, I just broke my gaming laptop. To be honest, it was on its last legs, so I'm not that upset, but at the end of the day it means I must buy a new PC. I ended up putting together a micro ATX build with a ryzen 9 9950x and a Radeon 9070xt, so it's going to be a powerhouse, but there's an absurd pricetag associated with it because of the AI bubble. I'm nervous to buy it, but I'll sleep on it.
August 22: Purchase, upgrades, and expansion
Dear diary, I feel uneasy. I made what is the most expensive single-item purchase of my life (okay well it was more like 11 items but it's a composite of those 11 items), and it was something I don't strictly need. Yes, I know I have some compute intensive hobbies but my work laptop and mac are very powerful in and of themselves. Yes I would need the PC to play overwatch, but oof man that pricetag. Anyways, I did buy it.
Furthermore, I discovered something: My laptop parts are compatible with the Shuttle! Further furthermore, it's got a 2.5" drive bay and I have a ton of old laptop HDDs at my dad's house that I can have him ship to me so now, I get to upgrade!
Network edge
- Nginx as the cache and to reverse proxy through my
- Wireguard node, and
- fail2ban to add a layer of security
Home server
- Wireguard node
- Syncthing node
- Clojure webserver (this one)
- Forgejo git forge (to replace the current cgit operation)
- Anki server
- adguard/some other dns kinda thing
- nginx (local reverse proxy server for split horizon setup, and especially to point people at my gaming servers should I host one.)
- Gotify (push notifications)
- Vaultwarden (self-hosted password management)
- TBD (matrix server)
- Cinny or Hydrogen (Some lightweight client, haven't decided)
- Mautrix bridges
- Miniflux (RSS aggregator)
- sftpgo/microbin/wastebin (quick file sharing/pastebin, haven't decided yet)
- navidrome (music server)
- Portion of HDD using u9fs
- WRP (Web Rendering Proxy) Proxy server to convert https->http for retro devices/to offload compute
- TP-link wifi dongle in AP mode to give my DS lite an unsecured network
- 1x inferno hosted(emu) node
Much more fully-featured eh? I'm thinking I'll have the following subdomains:
- pkingston.xyz & www.pkingston.xyz (here)
- git.pkingston.xyz
- anki.pkingston.xyz
- push.pkingston.xyz
- matrix.pkingston.xyz
- chat.pkingston.xyz
- news.pkingston.xyz (minflux)
- send.pkingston.xyz (microbin)
- music.pkingston.xyz (navidrome)
And for all of these services, I'll be using Ansible to stand them up/update them/manage them.
Anyways, diary, i'm still a bit anxious about the PC purchase but I can't lie and say that I'm not excited to build it and have an insane PC to use :P
August 29: Pain.
This section started getting big, unfocused, and not about the new server and more about the new computer. To read about why I'm not using guix anymore and what I'm using instead, see: my new blogpost
August 30: A unified stack
So I've already said I'll be running fedora on the edge and fedora on the server, but what I haven't said yet (unless you read the article) is that I'll be running fedora as my main distro too (I think)