Deploy Go to Hetzner
Run your Go app on a Hetzner server in your own account, with Postgres or Redis, HTTPS and zero-downtime releases. Hetzner bills you for the server directly, and Railyard adds no markup.
Steps
- 1
Create a Hetzner API token
In the Hetzner Cloud Console, open your project, then Security, then API tokens, and generate a token with Read & Write permission. Paste it into Railyard and tick Save it to the team, so it's reused for every server after this one.
- 2
Add a Hetzner server
In Railyard, open Servers, then Add a server, then Create on your cloud, and pick Hetzner, a region and a size. Railyard preselects cx22 (2 vCPU, 4 GB of memory). It creates the server in your Hetzner account and installs Docker, Caddy and its agent in about two minutes.
- 3
Deploy your Go repository
Paste the GitHub link. Railyard reads the repository, detects Go and fills in the build, the port, the release command, workers and Postgres or Redis.
- 4
Go live on HTTPS
Railyard builds on a separate build server, runs the release command, health-checks the new version and moves traffic only when it answers. Add your domain and the certificate is issued and renewed for you.
What Railyard sets up for Go
- Detected from go.mod and built with Railpack, or with your Dockerfile.
- The binary listens on $PORT, on all interfaces.
- Add a database from the app page and DATABASE_URL is injected.
- Each release is health-checked before it gets traffic.
- Workers and cron jobs run in the same image with their own command.
Hetzner regions
Nuremberg, Falkenstein and Helsinki keep your data in the EU.
- Nuremberg
- Falkenstein
- Helsinki
- Ashburn
- Hillsboro
- Singapore
Questions
Which Hetzner server size should I start with?
Where does my Go app's data live?
What does it cost to run Go on Hetzner?
Go on other clouds
Deploy Go to your own Hetzner server.
No credit card. Your provider bills you for servers at its own price.
Free plan, no card, and 14 days of Pro for every new team. One flat price per team.