work / homelab-platform

The home-lab platform

Dozens of services on one machine behind a Cloudflare tunnel, joined by a Redis Streams event bus, with a local LLM on an Intel Arc GPU.

status
private
year
2026
stack
  • Docker Compose
  • Cloudflare Tunnel
  • Nginx Proxy Manager
  • Redis Streams
  • FastAPI
  • llama.cpp
The home-lab platform screenshot

The problem

Each project here is small on its own: a church site, a neighborhood's dues, a painter's estimates, a few family tools. Together they need what a real platform gives you: routing and TLS, email, secrets, updates, monitoring, and somewhere to run a language model. Paying for that a project at a time adds up to a dozen bills and a dozen ways to fall over.

What I built

One machine runs all of it under Docker Compose, one directory per service. Public traffic arrives through a Cloudflare tunnel, so the router has no open inbound ports, and a proxy manager routes each hostname to its container over a shared network.

Services share small kits instead of copying code: security headers and a strict content policy, analytics, payments, address parsing. They talk over a Redis Streams event bus, which also carries the fleet's alert email.

Language models run locally. An Intel Arc GPU serves the coding agents, and a CPU model answers website requests, so a visitor never waits behind an agent. When the local model can't answer, a sidecar falls back to a cloud model and sends an alert saying so.

Where it stands

It serves a church, a neighborhood association, several small businesses and a family. Every night a job audits dependencies, checks health across the fleet and sends one summary email.