Skip to Content
Greyship Docs

Introduction

Greyship runs Go backends that scale to zero. Deploy with one command; pay only while your code runs.

Greyship is an open-source (AGPL-3.0) serverless platform for Go, made to run on your own server. You bring a normal Go project (a go.mod, one or more main packages) and Greyship builds it, runs every service in its own sandbox, gives web services an HTTPS URL, and puts them to sleep when nobody is using them. The next request wakes them in milliseconds.

There are no servers to manage and no Dockerfile to write.

How it works

  1. You deploy. grey deploy in your project, or a push to a connected GitHub repo.
  2. Greyship finds your services. It reads your code (it never runs it) and finds every main package: one that starts a server becomes a web service with a URL, the rest are workers. No config needed.
  3. It builds and checks. With Go installed, your machine compiles the binaries and only changed ones are uploaded. Otherwise Greyship builds them on a dedicated build machine.
  4. It switches over safely. The new version starts, passes its health check, and only then gets the traffic. If anything fails, nothing changes and the live version keeps serving.
  5. It sleeps when idle. A web service with no requests pauses after 30 seconds and costs nothing until the next request wakes it.

Your own server

Greyship is open source and runs on a server you own: see Self-hosting. Some features in these docs are marked coming soon; they're planned but not available yet. Found a bug or something confusing? Tell us.

On this page