Our great sponsors
-
homelab
Modern self-hosting framework, fully automated from empty disk to operating services with a single command.
-
Netmaker
Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Sandstorm
Sandstorm is a self-hostable web productivity suite. It's implemented as a security-hardened web app package manager.
-
mu
Soul of a tiny new machine. More thorough tests ā More comprehensible and rewrite-friendly software ā More resilient society. (by akkartik)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
yunohost
YunoHost is an operating system aiming to simplify as much as possible the administration of a server. This repository corresponds to the core code, written mostly in Python and Bash.
-
zfs-localpv
Dynamically provision Stateful Persistent Node-Local Volumes & Filesystems for Kubernetes that is integrated with a backend ZFS data storage stack.
Awesome!
I was thinking more about the user-facing apps you use. Scanning https://github.com/khuedoan/homelab, Gitea is Go, Grafana is Javascript (approximately), Element is Javascript, Dendrite is Go, Vault is Go. K8s itself is Go. Are you planning to run your own email server?
Now I find myself wondering what app choices exist if one were to try to constrain oneself entirely to operating in the Go eco-system, with Javascript only for web clients. That would be quite parsimonious.
I just stumbled on a truly self hosted project similar to tailscale: https://github.com/gravitl/netmaker. There is also https://github.com/juanfont/headscale which is an open sourced implementation of the Tailscale coordination server. Tailscale makes things incredibly easy for personal use, but it's awesome that there are also similar self-hosted options out there
I just stumbled on a truly self hosted project similar to tailscale: https://github.com/gravitl/netmaker. There is also https://github.com/juanfont/headscale which is an open sourced implementation of the Tailscale coordination server. Tailscale makes things incredibly easy for personal use, but it's awesome that there are also similar self-hosted options out there
This is how I currently manage my RPi NAS: https://github.com/smasher164/nas.
Exposing Home Assistant over it allows me to do things like turn my lights off when I'm away from home, without exposing stuff to the public internet.
> Or just a total DIY xen or KVM hypervisor on debian or centos approach.
Or just install kubevirt on the existing cluster and manage kvm virtual machines with k8s
https://github.com/kubevirt/kubevirt
I still believe :) I'm looking not for an economic argument but for a strategic one. I think[1] a self-hosted setup with minimal dependencies can be more resilient than a conventional one, whether with a vendor or self-hosted.
https://sandstorm.io got a lot right. I wish they'd paid more attention to upgrade burdens.
[1] https://github.com/akkartik/mu
I still believe :) I'm looking not for an economic argument but for a strategic one. I think[1] a self-hosted setup with minimal dependencies can be more resilient than a conventional one, whether with a vendor or self-hosted.
https://sandstorm.io got a lot right. I wish they'd paid more attention to upgrade burdens.
[1] https://github.com/akkartik/mu
To everyone saying that Kubernetes is unnecessary, try implementing autoscaling, service discovery, secrets management, and autohealing in a vendor independent way without it.
Of course none of that is necessary for a self hosted home lab, but neither is gitops.
This is a very nice example of how to set stuff up properly.
OP, I would love to see Robusta (https://robusta.dev) as part of this too. It's definitely in line with your vision of automating everything, as it let's you automate the response to alerts and other events in your cluster. (Disclaimer: I'm one of the maintainers)
I'm currently bumping the versions manually, but I plan to automate that with system upgrade controller [1] and Dependabot [2] (or similar)
[1]: https://github.com/rancher/system-upgrade-controller
[2]: https://github.com/dependabot
> There are 19 stacks in this repository. 19 pieces of software that require their own maintenance, JUST TO RUN YOUR APPLICATIONS!
There's tools like Yunohost [0] that can save a lot of work and are focused on making the subsequent maintenance burden easier too. There's an application catalogue [1] with a lot of popular self-hosted apps to choose from and new ones being packaged all the time. I haven't used it myself yet, but hear very good experiences from people that have. Especially those that lack all the more sysadmin tech skills.
There's also Freedombox [2]. I'd be interested to know about other such tools and your experience with them.
[0] https://yunohost.org
[1] https://yunohost.org/en/apps
[2] https://freedombox.org/
What do you use to provision Kubernetes persistent volumes on bare metal? Iām looking at open-ebs (https://openebs.io/).
Also, when you bump the image tag in a git commit for a given helm chart, how does that get deployed? Is it automatic, or do you manually run helm upgrade commands?