Skip to content
Ian Knight
Infrastructure

Homelab

Last updated October 17, 2026

This is what I run at home: a NAS, a rack server, and a pile of Docker containers. I use it to try things out, break stuff, and fix it without touching anything that actually matters.

How it fits together

No IPs or hostnames on purpose.

Tailscale
Remote access to the network
Cloudflare Tunnel + Zero Trust
Authenticated access to external services
UniFi Cloud Gateway + 2.5G managed switching
Segmented /23 network, static addressing, documented IP allocation
Dell PowerEdge R620
Proxmox VE, with VMs for isolated workloads and testing
128GB RAM · dual redundant PSUs · iDRAC
UGREEN DXP4800 Plus NAS
Around 30 Docker containers, managed with Compose and Portainer
4-bay · Intel Pentium Gold 8505 · 32GB RAM
Services running on the above
DNS
  • Pi-hole
  • Unbound
Monitoring
  • Uptime Kuma
  • Homepage
Apps
  • Immich
  • Home Assistant
  • Zigbee2MQTT
  • Mosquitto
  • FastAPI + SQLite

Hardware

  • ▸UGREEN DXP4800 Plus NAS: Intel Pentium Gold 8505, 32GB RAM, 4-bay
  • ▸Dell PowerEdge R620: 128GB RAM, dual redundant PSUs, running Proxmox VE
  • ▸Samsung T7 external SSDs for transcode cache and scratch storage
  • ▸UniFi Cloud Gateway with 2.5G managed switching

Virtualization

  • ▸Proxmox VE running on enterprise rack hardware
  • ▸Multiple VMs for isolated workloads and testing
  • ▸iDRAC for out-of-band management and remote administration

Containers & Orchestration

  • ▸Around 30 Docker containers managed with Docker Compose
  • ▸Consistent UID/GID mappings, timezones, and external bridge networks across services
  • ▸Portainer for container management and monitoring
  • ▸Intel QuickSync / VA-API hardware acceleration passed through where needed

Networking & Access

  • ▸Pi-hole with Unbound for recursive DNS and network-wide filtering
  • ▸Tailscale for remote access
  • ▸Cloudflare Tunnel with Zero Trust authentication for external services
  • ▸Segmented /23 network with static addressing and documented IP allocation

Monitoring & Reliability

  • ▸Uptime Kuma monitoring all 32 containers and the scheduled cron jobs, organized into 11 groups (10 container stacks and one for cron), with alerting
  • ▸Homepage dashboard bringing together service health across 10 groups
  • ▸systemd .mount units with Docker dependency ordering, which fixed recurring boot problems after power loss
  • ▸Automated nightly maintenance jobs through cron

Self-Hosted Services

  • ▸Immich for photo management with GPU-accelerated machine learning
  • ▸Home Assistant + Zigbee2MQTT + Mosquitto for smart home automation
  • ▸Self-hosted streaming services with hardware-accelerated transcoding
  • ▸Custom FastAPI applications backed by SQLite