Outhaul is a single ~25 MB Go binary that turns any VPS into a git-push-to-deploy platform. It orchestrates Docker and Traefik, keeps state in SQLite, and then gets out of the way. No control-plane sprawl. No Node runtime. No external database.
Outhaul watches for pushes, builds the image however your repo wants — Nixpacks, Dockerfile, or Compose — and hands the container to Traefik with TLS already wired. The whole loop lives in one process on your machine.
One SSH remote pointed at your VPS. No CLI to install on your laptop, no account to create.
git remote add outhaul ssh://…/api-gateway
Outhaul figures out how to build it — zero-config Nixpacks, your own Dockerfile, or a Compose stack — builds with layer caching, and streams the log straight back to your terminal.
git push outhaul main
The container starts, Traefik routes your domain with automatic HTTPS, and the old one drains. Zero-downtime by default.
✓ api.example.com
No sidecar services, no message queue, no separate control plane. The features below all ship inside the same ~25 MB executable.
Written in Go, statically linked. Copy it to a server and run it — no runtime, no package tree, no version drift.
Three build strategies from one binary: zero-config Nixpacks, your own Dockerfile, or a multi-service Docker Compose stack.
Managed Traefik routes every app and provisions per-route Let's Encrypt TLS. No DNS yet? Get a working sslip.io hostname instantly.
Health-gated cutover means a broken build is never promoted. Roll back to any previous deploy in one click — it re-runs the stored image, no rebuild.
One-click PostgreSQL, MySQL, and Redis with generated credentials. Attach one to an app and the connection URL is injected as an env var — rotated every deploy.
Every GitHub PR gets its own preview app with an isolated database, a sticky comment with the live URL, and automatic teardown when the PR closes.
Dark, dense, monospace. Built for the person who lives in it every day — deploy history, resource stats, and a following log tail on one screen.
Outhaul is early and built in the open — expect rough edges, and expect us to fix them fast. Install it on a spare VPS, kick the tires, and follow along on GitHub.