I kept wanting to spin up new sites — a Eurovision ranking app, a movie night invite, a chat room — and every time I’d waste an hour on deployment before writing any actual code. So I built Deploy.
What It Does
Paste a Git URL into a dashboard. Deploy auto-detects your stack (Node, Python, Ruby, Go, Rust, static, whatever), builds a Docker container, assigns a subdomain, and sets up SSL via Caddy. Zero config files. No Dockerfiles, no YAML, no buildpacks to configure. It just works.
Every project on this page runs through Deploy. When I get an idea for a new minisite, the gap between “I want to build this” and “it’s live on the internet” is basically just the time it takes to write the code.
How It’s Built
It’s a Bun monorepo with five packages: core (types and DB), server (API and orchestration), CLI (setup and admin), admin (web dashboard), and actions (scheduled tasks and webhooks). The server uses Railpack to auto-detect your language and framework, builds with Docker and BuildKit, and does blue-green deployments for zero-downtime updates.
Sites get persistent /data volumes that survive redeploys, per-site environment variables, real-time build and runtime logs, and optional auto-deploy on git push. There’s even a sleep/wake lifecycle that puts idle containers to sleep to save resources.
The Dashboard
The admin UI is all web components — a site list, deploy buttons, log viewers, environment variable editors. Nothing fancy, just fast and functional. There’s also share links for giving someone temporary access to a private site.
It runs on a single VPS with wildcard DNS. Not suitable for a platform business, but perfect for one person who keeps building things.