Limits
What every deploy is subject to, and the limits your instance admin may set.
Greyship has no plans and no billing. Everyone on an instance can build and run as much as the server allows, unless the instance's admin limits them.
Always
| Source upload per deploy | 100 MB compressed |
| Binaries per deploy | 20, each up to 200 MB (100 MB compressed) |
| Memory per instance | what the service asks for (memory in greyship.toml) |
| Instances per service | what the service asks for (max_instances) |
| Server build time | 10 minutes per build by default |
| Server builds | one at a time per Greyship; the rest wait in a queue ("N builds ahead of yours") |
| Runtime files | 50 MB, 5,000 files |
Building on your own machine with grey deploy and building on the server are never counted or billed.
Limits set by your admin
The admin of your Greyship can limit, per user, how much all of your running apps may use together:
- Memory in MB
- CPU in cores
- Builds at once
No limit set means no limit. Usage in the dashboard shows what your apps use now next to your limits (and the sidebar does when you have a memory limit).
A deploy that would pass a limit fails, and the version that is live keeps running:
memory limit reached: your apps use 700 of 1024 MB and api needs 512 MB more. Ask the instance admin to raise your limit, or stop somethingA deploy briefly runs the old and the new version side by side, so you need some room above your apps' normal use. A service that wants to scale up past a limit stays at the size it has. Paused (sleeping) apps still hold their memory, so they count. The release command that runs your migrations doesn't.
Sandboxing
Every service runs in its own sandbox (gVisor): it can reach the internet, but never another user's services, Greyship's internal systems or the server itself.