← All projects
Personal · Infra · 2025–26 · … min read

Homelab Infrastructure

Ubuntu Server 24.04 self-hosting 10+ Dockerized services behind Tailscale + UFW, with a gaming-PC GPU dedicated to local LLM inference and ML experimentation.

Ubuntu 24.04 Docker Tailscale UFW Ollama Samba

The setup

  • Server: Ubuntu Server 24.04, 10+ Dockerized services — Jellyfin, qBittorrent, Sonarr, Radarr, Prowlarr, Bazarr, PostgreSQL, Redis, and more.
  • Gaming PC: Windows + WSL2, RTX 4060 Ti 16 GB. Runs Ollama for local LLM inference and acts as the GPU compute node for ML experiments (Llama QLoRA, Playwright screenshot automation).
  • Networking: UFW for host firewall, Tailscale VPN mesh between server, gaming PC, and laptop. Samba shares for file access across devices.
  • Access: Everything is accessible from anywhere via Tailscale — no public ports open.

Why it exists

It's a deliberate playground. I wanted a place to:

  • Fine-tune and serve models at zero marginal cost.
  • Run long jobs (QLoRA training, batch scrapes) without worrying about cloud bills.
  • Host personal services without handing data to a third party.
  • Stay sharp on Linux admin, networking, and systemd.
10+
Dockerized services on the server
16 GB
GPU VRAM for local inference
0
Public ports — everything via Tailscale

What I've learned

The boring operational skills — systemd unit files, UFW rules, Docker volume discipline, Tailscale ACLs — are the ones that keep a homelab alive. The interesting stuff (Ollama + a custom dashboard) only works because the boring stuff is solid.