Where to deploy Grit
Grit produces an ordinary Docker image and an ordinary Go binary. Anything that runs either will run your app — there is no platform it is coupled to. This section is about picking well, then the specifics of each.
If you have no opinion yet
- Shipping something today, alone or in a small team → Railway or Render. Managed database, no server to patch, running in under an hour.
- Single-binary mode, and cost matters → a $5 VPS.
grit deployhandles the binary, systemd and TLS. - Several apps, one bill → Dokploy or Coolify. A platform you own, on one box.
- On-premise, or the customer owns the hardware → Docker Compose.
Every one of these is a real production answer. The wrong choice here is recoverable — moving a Grit app between them is a Dockerfile and a set of environment variables.
First, four things that apply everywhere
Which are required, which are build-time, and the ones that fail silently.
Why production does not auto-migrate, and how to run them safely.
Reproduce the deploy on your machine first. Most failures are visible here.
The things that are embarrassing to discover after launch.
Side by side
| Provider | From | Ops effort | Managed DB | Disk |
|---|---|---|---|---|
| Fly.io | ~$5 | Low | ||
| Railway | ~$5 | Lowest | ||
| Render | $0 (free tier) / ~$7 production | Lowest | ||
| Dokploy | Cost of the VPS (~$5) | Medium | ||
| Coolify | Cost of the VPS (~$5) | Medium | ||
| VPS (systemd + Caddy) | ~$5 | Medium | ||
| Docker Compose | Cost of the host | Medium |
Managed platform
Runs the Docker image close to your users, with a real disk if you need one.
Best for: A single Go binary you want in several regions without running servers. The best fit for Grit’s single-binary mode.
Push to Git, get a URL. The least ceremony of anything here.
Best for: Getting something in front of people today. Postgres and Redis are one click and wire themselves into your service.
Managed Postgres with real backups, and a free tier you can demo on.
Best for: Teams that want managed Postgres with point-in-time recovery without thinking about it, and a blueprint file checked into the repo.
Self-hosted platform
A Heroku-like panel on your own server. Grit’s own sites run on it.
Best for: Running several apps on one box with a UI, automatic TLS and Git deploys — without paying per service.
Open-source self-hosted PaaS. Similar shape to Dokploy, larger ecosystem.
Best for: Self-hosting with a big library of one-click services alongside your app, and multi-server support once one box is not enough.
