Limits and quotas
while’s limits, per project and per organization. Your agent knows them, and tells you when your app gets close.
Updated November 9, 2026.
Per project
A project declares at most:
| What it declares | At most |
|---|---|
| Services | 10 |
| PostgreSQL databases | 4 |
| Caches | 4 |
| Buckets | 4 |
| Scheduled jobs | 10 |
Your apps’ resources
By default, a web service has 200 mCPU and 192 MiB of memory, and a worker 100 mCPU and 128 MiB; resources changes them.
- A container asks for 8 GiB of memory at most, and up to 16 GiB if the organization’s memory quota allows it.
- An organization asks for at most 4 vCPU and 8 GiB of memory by default, all its projects and environments together; the
get_usagetool (quotas view) gives its own. - Each service counts in it for its maximum number of instances:
scale.max(10 without a setting), without exceeding the “instances” limit (3 by default). - A web service without
scale.maxtherefore counts 3 times its resources, since it scales up to that with traffic. - Tasks, caches and databases count too, a database for 100 mCPU and 256 MiB per instance.
Disk
A worker and a task have a 1 GiB /tmp, which takes nothing from their memory, and resources.disk raises it up to 8 GiB. A web service’s /tmp, on the other hand, takes from its memory: its large files go in a worker, a database or a bucket. A /tmp is emptied at each restart, so what must last goes in a database or a bucket.
Scheduled jobs
A run lasts from 10 s to 6 h (timeout_seconds, 10 min by default), and is retried at most 5 times after a failure (retries).
Internal access
A service restricted to your organization opens its access to:
| List | At most |
|---|---|
Groups (groups) | 50 |
Addresses (emails) | 200 |
Email domains (email_domains) | 20 |