Deployment

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 deploy handles 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

Side by side

ProviderFromOps effortManaged DBDisk
Fly.io~$5Low
Railway~$5Lowest
Render$0 (free tier) / ~$7 productionLowest
DokployCost of the VPS (~$5)Medium
CoolifyCost of the VPS (~$5)Medium
VPS (systemd + Caddy)~$5Medium
Docker ComposeCost of the hostMedium