Go Hosting

Go Binaries, Deployed Simply

Deploy standard Go applications with git push.

Scale with gigalixir ps:scale.

Get the raw performance of a compiled binary without wrestling with Docker multi-stage builds or Kubernetes manifests.

Cluster of blue hexagons with holes surrounding the white text 'GQ' in the center.

Performance and Stability

Go is built for high concurrency and low latency.

We provide the infrastructure that lets those characteristics shine.

Low Overhead Runtime

Your binary runs in a lightweight container without heavy agents or sidecars eating up your CPU cycles.

Because we do not impose artificial thread limits, your Goroutines can schedule efficiently across the available compute resources.

Concurrency Ready

We do not limit the number of concurrent connections your application can accept.

This makes Gigalixir ideal for high-throughput Websocket servers or gRPC services that need to maintain thousands of active states without the memory bloat of thread-per-request languages.

Zero-Downtime Updates

When you push new code, we compile the new binary, spin up a new instance, and wait for it to pass health checks before switching traffic.

Your users never see a 502 error, and active connections are handled gracefully during the rollover.

Glowing purple feather emitting light and sparkles on a dark background.

FAQs

The Questions We Get The Most at Gigalixir Support

Do I need to cross-compile my binary before deploying?

No.

You should push your source code to Gigalixir.

We compile the binary on our servers using the correct architecture (Linux/amd64) for the deployment environment.

This ensures that your binary is always linked against the correct system libraries available in the runtime.

Can I use private Go modules?

Yes. If your project depends on private modules, you can configure the build environment to authenticate with your version control system.

This typically involves setting a GO_GIT_CREDENTIALS or similar environment variable during the build phase so the go get command can fetch your private code.

How do I expose my web server?

Your Go application must listen on the port specified by the PORT environment variable.

We automatically route external HTTP and HTTPS traffic from your custom domain to that port.

If you hardcode port 80 or 8080, your app will crash; always use os.Getenv("PORT").

Does Gigalixir support Go Modules (go.mod)?

Yes.

We fully support Go Modules.

Ensure your go.mod and go.sum files are checked into your repository.

The buildpack favors modules over the older vendor directory approach.

How do I run background tasks?

Go makes it easy to run background tasks using Goroutines within your web process.

However, for robust, restart-tolerant work, we recommend defining a separate worker binary in your Procfile and scaling it independently.

This ensures your web server isn't slowed down by heavy background processing.

Still have questions?

Reach out directly to the Engineers who built Gigalixir to discuss your specific architecture, integration challenges, or compliance constraints here 👇

Ready to Get Started?
Choose Your Gigalixir Path

Free Tier

✓  1 App Replica (0.5 GB memory)
✓  Free Tier PostgreSQL Database
✓  Custom Domains & SSL
✓  Zero-downtime Deploys for secure database access.
Sign Up for a Free Gigalixir Account

Standard Tier

✓  SSH & Remote Console access
✓  No 30-day inactivity sleeps
✓  Clustering & Node Discovery
✓  HA Database & Read Replicas
Sign Up for a Standard Gigalixir Account

Trusted by Engineering Teams Everywhere

High-Performance Hosting for Modern Apps.

Stop fighting generic cloud infrastructure.

Whether you’re working with Elixir, Python, or Node.js, get the specialized support and performance your application deserves.