Go hosting from go.mod to live.
Push to GitHub. We read go.mod, pick your Go version, download your modules, build one program and start it. Every deploy waits for the new version to answer before visitors see it.
- Go1.26 and 1.27
- BuildsOne static program
- Port8080, in PORT
- Priced byWhat it uses
We read your code, so you don't write a build script.
Every build shows what we found and each command we ran, line by line. Anything we found, you can change in the app's settings.
| File | What we do with it |
|---|---|
go.mod | Go, and the version its go line asks for. We run go mod download, then go build. |
main.go | The program to build, at the top of your code. Without one, the first folder of cmd/ with a main.go, like cmd/server. |
go.sum | Your modules' checksums, checked as they download, so the build uses exactly what you tested. |
tanzahost.json | Optional: the version, system packages, and the build and start commands. |
One program, built the way Go likes it.
We build with go build -o bin/app and start ./bin/app. Your app listens on the port in PORT, which is 8080.
No C compiler needed
Builds run with CGO_ENABLED=0, so the program carries everything it needs and starts in a moment.
Your Go, not a newer one
GOTOOLCHAIN is local: the build never downloads another Go behind your back.
Several programs
With more than one folder in cmd/, we build the first and say so. Set another in the build command.
Deploys that never take you down.
The new version starts beside the old one. Visitors switch only once it answers its health address, “/” unless you choose another.
If it fails, nothing changes
A build or a “before going live” command that fails stops the deploy, and the version before it keeps serving your visitors.
Watched for five minutes
If the new version stops by itself within five minutes, visitors go back to the previous one, and we tell you.
Roll back in one click
The version before, deployed again without downtime.
Workers, tasks and a database next door.
Add what a real app needs beside its web process, each with the app's code and variables.
- Up to 5 workers for queues and background jobs, and up to 10 scheduled tasks, as often as every minute, in UTC.
- PostgreSQL with connection pooling, MySQL or Valkey in the same project: attaching one adds DATABASE_URL or REDIS_URL to your variables.
- Logs live, a terminal in your browser, and the numbers for memory, processor and requests.
Go 1.26 and 1.27.
We use the newest version that meets your go.mod, or the one you pick in the app's settings. The next build uses it.
- Go 1.27Recommended
- Go 1.26Supported
Go supports its two newest releases, and so do we: when Go 1.28 arrives, Go 1.26 shows a warning and the date it's removed.
A Go app, priced in the open.
Say a Go API holds 0.05 GB of memory and uses 1% of a processor, awake all month. You pay for that use, hour by hour, from your wallet. The limits you set cost nothing by themselves.
reading today's prices