Skip to content

Media, requests and the calendar need a member account. Sign in

RK2-Homelab

tgardner Homelab

Hey I'm Tristan, a datacenter operator who got too carried away and brought it home. My background is in Comp Sci CyberSec but ended up in Hardware, Networking, and Hosting.

I hope to teach you a thing or two with this website, as well as bring you closer to my services.

Shout out to everyone who supports the Homelab!

  • tgardner.xyz

The lab

What's in the lab

RK2-Homelab is a small lab run by one person. It hosts services that get used every day, and it is where I practise running infrastructure properly: everything in git, every change reviewed, private by default.

This is the shape of it. Addresses, hostnames and how it is all wired together stay off this site.

More about the lab
  1. Platform

    A three-node Proxmox cluster with ZFS replication and high availability, its memory budgeted for the worst case. It runs containers and virtual machines, alongside a fleet of Raspberry Pis and a TrueNAS SCALE storage server, with weekly backups and a UPS underneath.

    • Proxmox VE
    • LXC containers
    • Virtual machines
    • Raspberry Pi
    • TrueNAS SCALE
    • ZFS
    • High availability
    • Proxmox Backup Server
  2. Services

    Films and TV, home automation and dashboards for the household. Everything runs as containers in Docker.

    • Jellyfin
    • Plex
    • Home Assistant
    • Docker
  3. Access

    One single sign-on sits in front of every internal service: Authentik is the identity provider, and each host's reverse proxy asks it before letting a request through. The public-facing side is kept deliberately small, and static.

    • Single sign-on
    • Authentik
    • Forward auth
    • Traefik
  4. Automation & CaaS Runners

    Hosts are built and changed by Ansible playbooks run through Semaphore, from templates that live in git rather than in a web form. Anything started by hand or on a schedule runs as a workflow with a failure route; scheduled work only reports, apart from a weekly package upgrade of the Raspberry Pis, one at a time. Builds and pipeline jobs run in containers on a small pool of self-hosted runners.

    • Ansible
    • Semaphore
    • Forgejo Actions runners
  5. Source Control & CaaS Store

    Every repository lives on a self-hosted Forgejo. Changes land by pull request, commits on main are signed, and a vetting pipeline has to pass first. The container images the lab builds are kept in Forgejo's own registry.

    • Forgejo
    • Container registry
    • SSH signing
  6. Observability

    Metrics, dashboards, alerts and uptime checks, so a problem shows up on a graph before anyone notices it at home. The internet connection itself is watched from the gateway's own counters, by an alert that was replayed against 15 days of history before it shipped.

    • Prometheus
    • Grafana
    • Alertmanager
    • Uptime Kuma