─── ❖ ── ✦ ── ❖ ───

Plans for my new homelab structure (server & software).

Target

My goal is to implement IaC & GitOps in order to create a reproducible setup.

  • IaC & GitOps Control/Update the stack through a git repo
  • FQDN Each service’ subdomain should be externally accessible through a reverse proxy

Inspirations

IDLinksTopicsNote
Khue’s HomelabGH+
Vinetos’ InfrastructureGHProxmox, OPNsense, OpenTofu, Ansible+
Lordthorzonus’ homelabGHAnsible, Terraform, K8SNot a detailed guide
Dan Manners’ HomelabGHK8S, Kustomize, ArgoCDNot a detailed guide
Luis’ IaC & K8S homelabBlog, GHProxmox, Terraform, Ansible, K3S, Longhorn, Traefik, Cert-manager+
Ansible-Proxmox-AutomationGHProxmox, AnsibleAnsible-playbooks for Proxmox
ansible-k3s-argocd-renovateGHK3S, ArgoCD, Ansible, ZFS, Renovate Uptime-Labels on GH-pages
ChristianLempa’s homelabGH, YTalso: Boilerplate & Cheat Sheet
Pezhore Proxmox-Home-LabGHProxmox, Terraform, Ansible, Vault, PackerAnsible vs Terraform
Lisenet kubernetes-homelabGH, BlogIstio, TrueNAS, K8S, Ansible, Terraform, …+, Very extensive
Gruberdev’s HomelabGHArgoCD, K8S, Terraform, TailscaleNot a detailed guide, interesting cluster utilities, see also local-gitops
Ultimate Kubernetes Homelab GuideBlog, GHProxmox, K8S, Ansible, Istio2021
Configuring Istio with OIDC authenticationBlogIstioonly about Istio, 2020
Provisioning with GitHub RunnersBlogTerraform, Ansible, GitHub Actions, Proxmox, K3Smany other good posts in blog

Reddit https://github.com/onedr0p/home-ops https://luislogs.com/ https://www.lisenet.com/ https://thedatabaseme.de/ https://datastrophic.io/ https://homelab.blog/ https://fredrickb.com/ https://aviitala.com/posts/

Planned Setup

Sites/Locations:

  • KV (main)
  • KD (office neodym & abcnas)
  • KA (Karlsruhe RasPi)
  • CD (Cloud ceres)

Server: - 3x PVE hosts (titan, vanadium, neodym) - titan always-on, for critical services - vanadium main place for worker nodes - neodym off-site backup - 1x unraid NAS (datengrab) - 3x Synology NAS (ds918zoy, bernstein218, abcnas) - 1x VPS (ceres) - 2x RasPi

VMs & Services (not containerized): - ControlVM (run Ansible/Terraform/etc from here) - HomeAssistantOS VM (on titan) - TrueNAS Scale 24.10+ with 2TB SSD (2x, on vanadium & neodym) - not planned anymore, use instead for CEPH or as additional LVM

Dockerized Services: - Media Services (should run on a specific server, for fast local file access) - Jellyfin (movies & series, @datengrab) - Stash (other movies, @datengrab) - Audiobookshelf (audiobooks, @ds918zoy) - Navidrome or similar service (music, @ds918zoy) - (multiple?) eBook/Comic/Manga server Possible services: 1 - ebooks Calibre & Calibre-web - Comics - Manga - PDF-Magazines - Komga use for everything except ebooks - or maybe Inkheart (poor performance for big libraries?) - DMS like Teedy, Papermerge or Docspell - exhex - Diskover (File Indexing aggregate to central instance) - File manager - FileBrowser - - Monitoring - HDD-monitoring with scrutiny - monitor performance with Prometheus - monitor logs with Loki or ELK - maybe with Beszel? - Status page with cachet - Backup - Use Offen/docker-volume-backup to pCloud (?) - Homepage - homepage - dashy - other services - Tailscale - FactorioServerManager -

Inventory management with Tailscale

IDTypeTS-IDTS-IPComment
x1y3-2Laptop
uconsoleLaptop
ds918oyNAS
datengrabNAS
abcnasNAS
bernsteinNASTS availale?
prod400g5PC
m700PC
zalman2PC
titanPVE
vanadiumPVE
neodymPVE
ceresVPS
homeassistantVM
RPi4 @ KV
RPi4 @ KA
JetKVM
iPhone

Software

GOAL: IaC pull from private GitHub Repo (or public Repo + private secrets?)

Tools: - Ansible - Terraform (or OpenTofu) - K3S - standalone Docker on some hosts? - ArgoCD with Hashicorp Vault - Linux VMs under Proxmox (with NixOS?) - Longhorn

Planned Project Steps

Steps required to implement Homelab 2.0

  • Stage 1: Proxmox

    • Automate Proxmox bare metal node setup with Terraform/OpenTofu (optional since I already have them set up)
      • Create a Debian VM template with Ansible
      • [ ]
    • Document ‘ControlVM’, from where commands are run
    • Customize Proxmox installation (e.g. Tailscale)
      • Tailscale
      • mount 2TB SSDs as additional storage (LVM or LVM-thin - or CEPH?) (vanadium & neodym)
    • Deploy VMs for K3S with Terraform/OpenTofu (or Ansible)
  • Stage 2: K3S

    • (Idea) a K3S worker node as VM in unraid with mounted folders (& GPU?) for local actions
  • Stage 3: external Services (outside of K3S cluster)

    • HomeAssistant (VM on PVE ‘titan’)
      • InfluxDB (on separate partition?)
      • (Idea) separate ‘hassio-helper’ VM as docker-host (InfluxDB, Unifi-Controller, AdGuardHome)
      • monitor power usage of homelab
      • monitor FritzBox
    • Synology NAS ‘ds918oy’
    • unraid NAS ‘datengrab’
      • Jellyfin
    • other devices & services
      • WebUI’s of PVE hosts
      • Nous A5T WebUI
      • Unifi Controller
      • AdGuardHome-VM
  • iPhone

    • Sync Obsidioan-git with iPhone with iSh
  • .

Resources

K8S and Tailscale

K3S and Tailscale

General K3S resources

Other notes

─── ❖ ── ✦ ── ❖ ───