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.
Install Greyship on your server
Run your own Greyship with one command. No domain needed to start.
Quickstart
Install the grey CLI and deploy your first backend in two minutes.
Use the dashboard
Everything in the web dashboard, and the CLI command for each.
Deploy from GitHub
Import a repository; every push deploys.
greyship.toml
The optional config file, setting by setting.
CLI reference
Every grey command and flag.
How it works
- You deploy.
grey deployin your project, or a push to a connected GitHub repo. - Greyship finds your services. It reads your code (it never runs it) and finds every
mainpackage: one that starts a server becomes a web service with a URL, the rest are workers. No config needed. - 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.
- 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.
- 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.