Building a Smarter, Self-Hosted Home—One Container at a Time
This site is where I document everything I’ve learned (and messed up 😅) while building a Docker Swarm cluster or K3s cluster inside my Proxmox-powered homelab. If you’ve ever wanted to self-host your favorite services, automate your network, or just tinker with infrastructure, you’re in the right place.
Whether you’re just starting with homelab projects or looking to scale out your own Swarm stack, this blog is here to help—and maybe even save you a few hours of trial and error.
The Foundation: Proxmox + Hardware Setup
It all starts with the physical host: a Minisforum MS-01, loaded with CPU cores, RAM, and NVMe storage. From there, I’ve built out a flexible virtualization environment using Proxmox VE—a solid base for spinning up lightweight VMs and containers.
Essential Services (a.k.a. the Backbone)
Before Swarm even enters the picture, I’ve laid down some key infrastructure services to make life easier and the network smarter:
- Pi-hole for network-wide ad blocking and DNS control
- TrueNAS (or a similar NAS VM) to serve as a central file store
- Portainer, and other helpful self-hosted tools
These services are the glue that keep the homelab sane, secure, and semi-professional.
Docker Swarm: Three-Node Master Setup
My 3-node Docker Swarm cluster—each node a lightweight VM running Debian, configured to:
- Use Keepalived for a virtual IP across managers
- Leverage GlusterFS for shared, persistent volumes
- Auto-update services with Shepherd
- Host this blog, a Servarr stack, and several utility containers
Kubernetes Cluster: 3 node setup
My latest is a k3s cluster
- Use Longhorn for config files
- NFS persistent volume for media files
- Metallb that assigns an IP for each app (simple setup and DNS friendly
- Host this blog, a Servarr stack, and several utility containers
I’m not claiming to be an expert—but I’m a big fan of learning by doing. If that’s your vibe too, I’d love to share notes. just poke around the posts and steal all the configs