For a while my projects lived on shared Hostinger plans. It worked until it didn't: noisy-neighbor CPU steal, limited control, and a growing list of things I couldn't run. So I consolidated everything onto a single OVH VPS and never looked back.

The stack

The whole thing is Docker + Traefik v3 + Let's Encrypt. Traefik handles ingress for every service via per-container labels and mints certificates automatically, so adding an app is just a compose file and a hostname.

On one box I now run a multi-app product suite, a full media stack, this blog, a metrics dashboard, push notifications, and the FlameNet services, each isolated in its own container, each routed by host.

Lessons learned

  • Plain Traefik beats a heavier stack. I started with extra tunneling layers and ripped them out. Vanilla Traefik with Docker labels is simpler to reason about.
  • Check CPU steal before blaming your containers. Half my "performance problems" on the old host were the hypervisor, not me.
  • Harden early. A public box gets scanned within minutes. CrowdSec, a WAF in detection mode, and an egress firewall are worth the afternoon.

One VPS, one docker compose, everything under version control. It's the most boring, and most reliable, my infrastructure has ever been.