Deploy Go (Gin) to Production | Go Hosting on seenode

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.

main.go
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:

go.mod
module your-gin-project
go 1.21
require github.com/gin-gonic/gin v1.9.1

Run go mod tidy to create your go.sum file.

Deploy on seenode

  1. Push to Git

    Commit your project and push it to GitHub or GitLab.

  2. Create a Web Service

    From the seenode Dashboard, create a new Web Service and connect your Gin project’s Git repository.

  3. 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, 80 or 8080). Ensure your r.Run(…) call uses the same port. The field defaults to 80; 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 a PORT environment variable.

  4. Deploy

    Click Create instance and watch logs until your web service is live.

  5. 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 host 0.0.0.0 and 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)

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:

  1. Create Go module: go mod init your-project
  2. Install Gin: go get github.com/gin-gonic/gin
  3. Configure your server to listen on the port you’ll set in the dashboard (for example, 80 or 8080)

Next Steps

Now that your Gin application is deployed, here are some things you might want to do next: