| ▲ | bengalister 9 hours ago | |||||||||||||||||||||||||||||||||||||||||||||||||
I also self host some services: keycloak, forgejo, home assistant, immich, grafana/prometheus, jellyfin, pureftp (to store my surveillance cameras videos), and a vibecoded financial app, and soon hermes agent on a 2023 laptop. I chose to run most of them on Kubernetes since I am used to work with it. I use: - ha-proxy running on the host and istio running inside the cluster for the sni based ingress routing - cert-manager with a self-signed CA I had to import the CA cert on my devices - cloudnative pg for postgresql dbs (keycloak and immich) For the backup it is mainly some cron jobs that save to the cloud. It is overkill I admit but kubernetes makes some integrations easier. Even though it was also a way for me to maintain some Kubernetes skills for my work. The tricky part is the network connectivity, for instance home assistant runs inside the cluster on its own network and it makes things more complex like homekit bridge integration (different network than my devices). But with the help of AI the iptables configuration makes wonders. The kubernetes cluster is k3s running on NixOS micro vms, fully managed declaratively thanks to NixOS. The services that run outside the cluster (ha-proxy, jellyfin) are all managed declaratively. At some point I had thought of using proxmox with lxc but I am very happy with NixOS. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | attilaolah 8 hours ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
I also used to run everything on K8s (hybrid Talos / Alpine+k0s on nodes too small for Talos). It is a fun exercise, but with many small nodes eventually I realised I was burning a quarter of my fleet's CPU on just monitoring and routing services. Eventually I switched to Systemd only, Clan-managed NixOS instances on bare metal. The killer feature for me is socket activation. It even works with Jellyfin, wrapped in systemd-socket-proxyd. I have Jellyfin listen on a UDS, and Systemd will activate it when my TV connects. The downside is a few more seconds of waiting when I open Jellyfin on the TV. The upside is, after 20 minutes of idling, it is fully powered down. This allows packing even more services on smaller machines, provided you don't e.g. play Minecraft and watch Jellyfin at the same time. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | chanux 5 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
Do you mind sharing your use case for Keycloak? Is it for the various personal apps? | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | mirthflat83 6 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
How's your vibecoded financial app setup? Are you using Plaid? | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | pydry 8 hours ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
isn't it a nightmare running home assistant with kubernetes? i had a bad enough time just using docker compose. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||