Deploy a Go (Gin) app
Deploy your Gin app on seenode with a simple setup. Follow our quickstart guide to configure, connect Git, and go live in minutes.
New to seenode? Start free: 7-day trial, no credit card. Apps run on credit-based pricing from $3/mo.
This guide explains how to deploy your existing Gin application to seenode.
Prerequisites
Before you begin, ensure you have:
- A seenode account (sign up free)
- Git configured on your machine
- Existing Gin project ready to deploy
Configure for seenode Deployment
Port Configuration
Your service must listen on the same port that you configure in the Port field for the web service. Choose a port (for example, 80 or 8080) and use it both in your code and in the dashboard.
For more background on how the Port field controls routing on seenode, see Configuring Your Application’s Port.
package main
import ( "fmt"
"github.com/gin-gonic/gin")
func main() { r := gin.Default()
r.GET("/", func(c *gin.Context) { c.String(200, "Hello, Welcome to seenode 👋") })
r.Run(":80")}::::note[Why this matters]
On seenode, the Port field defaults to 80, and traffic is routed to whatever value it holds, so your app must listen on that same port on host 0.0.0.0 (for example, 80). You don’t need to set a PORT environment variable; just bind your app to the port shown in the Port field.
::::
Dependencies
Make sure your go.mod lists gin-gonic/gin as a dependency:
module your-gin-project
go 1.21
require github.com/gin-gonic/gin v1.9.1Run go mod tidy to create your go.sum file.
Deploy on seenode
Push to Git
Commit your project and push it to GitHub or GitLab.
Create a Web Service
From the seenode Dashboard, create a new Web Service and connect your Gin project’s Git repository.
Configure Build & Start
seenode attempts to detect these automatically. Configure:
- Build Command:
go build -o app main.go - Start Command:
./app
Set the Port field (above Environment Variables) to the value your Gin app listens on (for example,
80or8080). Ensure yourr.Run(…)call uses the same port. The field defaults to80; change it if your app listens on a different port. After the service is created, you can change the port from the project’s Settings tab. You do not need to add aPORTenvironment variable.- Build Command:
Deploy
Click Create instance and watch logs until your web service is live.
Success
Once complete, your Gin application is accessible via your service’s URL.
::::tip[Troubleshooting] If your deployment fails, the first place to check is the Logs tab in your seenode service dashboard. Build and runtime logs often contain valuable information for diagnosing issues.
Port configuration mismatch
- On seenode, the Port field defaults to
80. Ensure your application listens on host0.0.0.0and the port set there. - Adjust your framework code if needed (for example, change the port value in
r.Run(":80")to match the Port field). - Seeing a 502 Bad Gateway? Your app may not be listening on the expected port. ::::
Starting from Scratch?
If you don’t have a Gin project yet:
Option 1: Use our Template (Recommended)
Gin Template
Deploy a minimal, production-ready Gin application with optimized performance.Option 2: Create from Gin Docs + seenode Setup
Follow the official Gin documentation to create a new project, then return here for seenode-specific deployment steps.
seenode-Specific Setup Steps:
- Create Go module:
go mod init your-project - Install Gin:
go get github.com/gin-gonic/gin - Configure your server to listen on the port you’ll set in the dashboard (for example,
80or8080)
Next Steps
Now that your Gin application is deployed, here are some things you might want to do next:
Set up a Custom Domain
Point your own domain at your web service, with automatic HTTPS.Connect to a Database
Instantly scaffold and connect PostgreSQL and MySQL databasesPricing
Instance sizes, the 7-day trial, and credit-based billing.Manage your service
Env vars, deploys, rollbacks, logs, and scaling.