Skip to content
Projects

The self-hosted lab

The infrastructure this site runs on, and the routing and failover work that keeps it up.

Maintained guideWritten
Role
Sole operator
Stack
Docker, Traefik, Cloudflare, Linux
Read the source

The problem

I wanted to run my own services rather than rent them, and I wanted the reasons documented, because most self-hosting writeups stop at the point where it works once on one machine.

The hard part was never the first container. It was everything after: routing, certificates, failover, and what happens when one host goes down at three in the morning.

Constraints

  • One person operates this. Anything that needs a team to run does not get run.
  • It comes out of my own paycheck, so cost is a live design constraint.
  • It is publicly reachable, which makes it a real target rather than a lab exercise.

What I built

A self-hosted stack behind Traefik with Cloudflare in front, plus the supporting tools that came out of operating it:

Every one of those started as a problem in front of me rather than a project idea.

Outcome

The stack is running now, and the live status page reports on it directly. Every number on it came from a live check. When the monitoring cannot reach a source, the tile disappears instead of showing the last thing it saw.

The written version of what this taught me is in Where single-node infrastructure breaks down.

There is no service count on this page on purpose. The lab page counts what it can reach, right now, and a number typed here would go stale and then contradict it.