From clone to runningTen minutes
Production reverse proxyTraefik labels
Vendor lock-inNone
Containers are the default unit
A repository checked out on a new laptop should be running ten minutes later. That number is non-negotiable for us, and it is what Docker guarantees. Every project we ship has a Dockerfile, a docker-compose for local development, and a thin production compose stack that differs only in environment variables. The same image runs on a junior developer's laptop and on the rack in our hosting room. "Works on my machine" is a class of bug we removed from the codebase a decade ago.
Traefik does the rest
Reverse proxies used to mean nginx config files copy-pasted between servers, edge cases discovered at 3am, and a brittle hand-off between dev and ops. We pick Traefik specifically because it reads its routing config from the container labels, not from a separate file. Add a service to the compose stack with a handful of
traefik.* labels, push, and the new host name is live with a fresh Let's Encrypt certificate inside thirty seconds. There is no nginx generator script and no separate deploy step for the proxy. The route IS the label. On a developer laptop the same proxy runs in front of *.localhost.at subdomains, with mkcert handing it a trusted certificate, so a local dev URL behaves like a production URL down to the TLS handshake.Why this matters for your bill
The two minutes it takes to spin up your project on a new developer machine compound over a year of small fixes. Predictable deploys mean we do not pad estimates against "it will take an afternoon to debug the staging environment". Predictable rollback means we are not afraid to push a fix at 4pm on a Friday. None of that is exotic; all of it is cheaper for you, and we pass that through instead of pretending the work is harder than it is.
It also keeps you portable
Container manifests and Traefik labels are standards, not Blax-specific configuration. The same compose file your project ships with runs on any Docker host that can talk to Traefik, which means our hosting setup is a convenience rather than a lock-in. If you ever migrate to your own cluster, your own provider or a different agency, the deploy goes with you. The keys are yours either way (see our FAQ on hosting).
Linux underneath, of course
All of this assumes a Linux host, which is what we run from our laptops to the rack. The convictions stack: Linux everywhere is what makes Docker reliable, and Docker is what makes the rest of the build cheaper.
The route IS the label. There is no separate proxy config to hand-edit; what is not in the compose file does not exist.
More perspectives
Curious how this plays out in practice?
These essays are the why. The how shows up in the projects we ship. Drop us a note and we can talk about your specific case.