Homelab is a place where you can store all your family’s data, self-host applications and services, locally stream media, and experiment with various technologies. A Homelab can start with low-power
I wrote a blog post detailing my homelab setup throughout 2023. It includes the hardware I use, as well as the applications I selfhosted. I also detailed how I automate my home Kubernetes cluster and how I back up my data.
In a cluster? I'm actually thinking about using Nomad between my three sff pc that I use as servers, but I have no clue as to how to sync storage between them (container side I mean, with nextcloud data for example)?
If you can get away with it, use a separate NAS that exposes NFS to your other machines. Iscsi with a csi might be an option too.
For databases, it's usually better to not put their data on shared storage and instead use the databases built in replication (and take backups!).
But if you want to go down the rabbit hole, check out ceph, glusterfs, moosefs, seaweedfs, juicefs, and garagehq.
Most shared file systems aren't fully posix compliant so things like file locking may not work. This affects databases and sqlite a lot. Glusterfs and moosefs seen to behave the best imo with sqlite db files. Seaweedfs should as well, but I'm still working on testing it.
Yeah in a cluster with consul. Consul gives automatic service discovery and works with traefik so I don't even have to care which node my service is running on since traefik knows how to find it using consul.
For the storage I went with a simple solution. I installed nfs on a machine running in nomad, and then configured the nomad clients to mount that disk. All of this with ansible so I don't have to do it more than once.
The manifest of my Kubernetes cluster is managed in a Git repository and is automatically deployed via a GitOps tool named Flux CD. When I push changes to the repository, such as adding a new application or upgrading Docker images, the deployment occurs within a few minutes.
This is the way.
Although I use Flux ImageUpdateAutomation instead of Renovate Bot. Did you consider using Flux to do auto updates? Are there any downsides that made you choose Renovate Bot instead?
Thanks! I looked at the documentation of Flux image update automation first but I didn't figured out how to handle Helm chart versions, and it seems it requires manual "marker" to handle image tags in Helm values (which Renovate can manage automatically), so it looks like Renovate fits my needs more.