Homelab

A TrueNAS system running on repurposed hardware in my apartment.

My homelab began as a NAS and now runs file storage, Jellyfin and Frigate. I use Tailscale to reach it when I’m away from home. Noise, heat and limited space affect what I can run in the apartment.

Private remote access

I use Tailscale to reach internal services without exposing them directly to the public internet.

Mirrored storage

Two 12 TB drives in a ZFS mirror: about 12 TB usable before overhead, with disk health monitoring.

Separate video workloads

Frigate uses a lower-resolution stream for detection and a higher-resolution stream for recording.

Topology

A map of the system and its connections.

Homelab topology The home gateway connects a PC, two IP cameras and TrueNAS. A remote device uses Tailscale for private access. TrueNAS hosts Jellyfin and Frigate and a ZFS pool. The NAS backs up to a separate offsite cloud server. Internet PC Home gateway 2 IP cameras Remote device Tailscale TrueNAS Jellyfin Frigate ZFS pool Offsite backup Offsite cloud server Homelab topology The gateway connects a PC, two cameras and TrueNAS. A remote device uses Tailscale for private access. TrueNAS hosts Jellyfin, Frigate and a mirrored ZFS pool. The NAS backs up to a separate offsite cloud server. PC Internet 2 IP cameras Home gateway Remote device TrueNAS Tailscale Jellyfin Frigate ZFS pool Offsite backup Offsite cloud server
  • Network
  • Private access
  • Hosted service
  • Stored data
  • Offsite backup

This diagram shows the main connections. TrueNAS runs Jellyfin and Frigate, manages the ZFS pool and backs up to an offsite cloud server.

Storage & recovery

The mirrored pool keeps a second copy of data on another drive. It provides redundancy for a single drive failure; it isn’t a backup, and it doesn’t protect against accidental deletion or losing the whole system. The NAS also backs up to a separate cloud server for offsite backup.

Jellyfin reads media from the pool, while Frigate writes camera recordings to it. I’ve worked through drive failures, replacement and resilvering, which has meant learning how to diagnose storage problems and recover the pool.

Back to work & experiments