My Homelab
Backstory
My homelab started off quite well, during year 9 (2018) I was sat in my Dad’s office and they had this big long computer sat on a desk which a later found out was a server. They were throwing it out as they’d gotten new servers to upgrade their infrastructure. Me being the curious person I was I asked if I could have it to take home and pull apart to see what’s inside. Somehow I managed to go home with my first rack-mounted server that day.
After taking it apart and putting it back together numerous times I got bored and decided to try and use it like a normal computer. Which flopped after I realised I had to pay for Windows. So I instead decided to try a free operating system Ubuntu except instead of Ubuntu server I put Ubuntu desktop on it. Not the wisest of choices as although it had video out the desktop seemed to render at about 4fps. After lots of messing about I figured out the basics and ran a minecraft server.
From there my interest in homelabbing spiralled as they recycled more servers at my Dad’s office my collection only grew, much to the pleasure of the electricity providers
Current Setup

Currently I have 4 nodes each running Proxmox VE connected in a highly available cluster. These are all connected via a managed 48 port gigabit switch which cost me £10. Between my lab and the internet is a Firebox M200 which is my router and firewall. It also runs a VPN although i don’t use it as I am in favour of Tailscale at the moment.
On these servers I run a variety of applications. For monitoring and alerting I use Grafana and Prometheus which allow me to view stats on the bare-metal hosts and the VMs I’m running. I run Wazuh which allows me to collect security metrics and view any alerts or issues in a dashboard. These services are run in their own Linux Containers so I can manage them directly in the Proxmox Web UI.
For accessing services externally I have the Tailscale VPN which allows me to access all the VM’s remotely. For publicly facing services I use cloudflare tunnels and then for non HTTP/S services I port forward via the firewall.
Non infrastructure application I run a variety of which i have listed some below -
- Plex (VM)
- Portainer (Docker)
- Immich (Docker)
- Minecraft server
- House Stats.co.uk (Docker Compose)
- Flask webserver
- Celery workers
- Apache Kafka
- MongoDB
- PostgreSQL
Future

In the future I’d like to move a lot of my services to mini PCs which are a lot more power efficient and quiet, so I can keep them almost anywhere in the house instead of having to shove them in the garage at the moment with powerline ethernet. My current setup uses a large central NFS mount where I have a lot of the large data stored, but I’d like to move to something like CEPH for all VM data and then have a separate NAS for large files or archival data. I would also like to look into setting up MAAS, so I can essentially hotswap nodes and have them auto join the Proxmox cluster. In this setup all VM data would have to be highly available so would depend on the CEPH storage. Kubernetes is also a technology I’d like to explore further, but I think i need some slightly better storage as when i previously experimented the cluster would be very laggy due to the I/O latency of the SAS drives in the servers which are easily 10+ years old now.