My self-hosting infrastructure, fully automated

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • homelab

    Modern self-hosting framework, fully automated from empty disk to operating services with a single command.

  • 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.

  • Netmaker

    Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.

  • 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

  • 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.

    WorkOS logo
  • headscale

    An open source, self-hosted implementation of the Tailscale control server

  • 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

  • nas

    configuration for my NAS

  • 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.

  • kubevirt

    Kubernetes Virtualization API and runtime in order to define and manage virtual machines.

  • > 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

  • Sandstorm

    Sandstorm is a self-hostable web productivity suite. It's implemented as a security-hardened web app package manager.

  • 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

  • mu

    Soul of a tiny new machine. More thorough tests ā†’ More comprehensible and rewrite-friendly software ā†’ More resilient society. (by akkartik)

  • 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

  • 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.

    InfluxDB logo
  • debug-toolkit

    A modern code-injection framework for Python. Like Pyrasite but Kubernetes-aware.

  • 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)

  • system-upgrade-controller

    In your Kubernetes, upgrading your nodes

  • 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

  • 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.

  • > 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/

  • zfs-localpv

    Dynamically provision Stateful Persistent Node-Local Volumes & Filesystems for Kubernetes that is integrated with a backend ZFS data storage stack.

  • 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?

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts