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 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.