Skip to content

Latest commit

 

History

History
67 lines (51 loc) · 2.96 KB

README.md

File metadata and controls

67 lines (51 loc) · 2.96 KB

homelab-monorepo

This repository contains all my setup files while I'm learning Ansible, Kubernetes, NixOS & Terraform. Trying to move over to a more advanced homelab setup.

Heavily influenced by TechnoTim (https://github.com/techno-tim) & Christian Lempa (https://github.com/ChristianLempa/christianlempa)

Home Assistant Add-On

This repository also serves as my personal home assistant add-on repo. Currently, I have the following addons:

Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.

My Homelab

I have the following machines & VMs with a brief overview of services they run. All VMs in Proxmox run NixOS.

  • TheFactory

    • TrueNAS Scale
    • Docker services (see docker/truenas/ folder)
  • Proxmox cluster (Lyoko)

    • Forest Sector
      • Yumi (HA, can be live migrated)
        • Adguardhome
        • Cloudflare Tunnel
        • Bitwarden
        • Mealie
        • PXEBoot (netbootxyz & iventoy)
        • Portainer
      • William (kubernetes node)
    • Ice Sector
      • Odd (Adguardhome + Cloudflare Tunnel)
      • Manta (kubernetes node)
      • Aelita
        • Plex & Jellyfin
    • Forest Sector
      • Ulrich (Adguardhome + Cloudflare Tunnel)
      • Hass (Home Assistant OS)
      • Skidbladnir (kubernetes node)

Kubernetes cluster

Built using Talos linux. Currently runs following services:

  • Traefik
  • Cert-manager (with Reflector to make sure certs are available in other namespaces)
  • Kube-VIP
  • Tailscale operator
  • Keel
  • Homepage
  • Gatus
  • Stirling-PDF
  • Webtop
  • Adguardhome-sync

Several services are not running in this cluster and remain on separate NixOS VMs with docker because:

  • I don't want to run hyperconverged storage solutions (Longhorn, OpenEBS, etc...) due to the amount of resources it takes (so only running stateless services or services that I personally don't see the need to store something out of memory).

  • I encountered several issues with NFS-backed storage (even with NFSv4) and sqlite databases (f.e. with plex & bitwarden) so not an option to use NFS-backed storage in the cluster.

  • Services that I want HA and do need local storage (portainer, bitwarden, etc...) are running in the Yumi VM that is HA-enabled in proxmox & can be live migrated.

  • Plex & Jellyfin run in a separate VM (Aelita) because I'm passing through my iGPU which makes the VM not eligible for live migration in Proxmox.

Future Plans