Usage & limits
What your workspace uses each month, in the units a bill would use, and the limits that keep usage predictable.
Usage
Terminal
apprail usage
apprail usage --month 2026-09 --projectsThe Usage page and apprail usage show each calendar month (UTC), for the workspace and per project. Every line says how it’s counted:
| Line | Counted as | Unit |
|---|---|---|
| Service CPU and memory | Measured every 30 seconds | CPU-hours, GB-hours |
| Builds | Each build’s duration | Build minutes |
| Object storage | Bytes stored, measured every 5 minutes | GB-months |
| Edge traffic | Bytes Cloudflare sent to visitors, per 15 minutes | GB |
| Databases, caches, and queues | What they reserve, busy or idle, while they exist | CPU-hours, GB-hours, disk GB-months |
Usage from resources you’ve since deleted stays in the month, under Deleted resources.
Apprail is in private alpha and there are no prices yet. Usage is shown so you can see what you’d pay for once there are.
Workspace limits
Limits are checked at the moment of a change — creating something, resizing, or deploying to a new environment — so they’re exact, not after the fact.
| Limit | Default | What counts |
|---|---|---|
| Projects | 20 | Projects |
| Services | 60 | Services, across projects |
| Data resources | 40 | Databases, caches, queues, and buckets together |
| Reserved CPU | 24 cores | Each service’s CPU × instances (the maximum, with autoscaling) in every environment it runs in, plus databases |
| Reserved memory | 48 GB | The same for memory, plus databases, caches, and queues |
| Data storage | 500 GB | Database, cache, and queue disks, and bucket quotas |
- A change that would go over a limit is refused with
quota_exceeded, the limit, what’s in use, and what the change needed. A build whose deployment wouldn’t fit fails once with that reason. - Shrinking and deleting are always allowed.
- Need more? Ask — limits can be raised per workspace.
Other limits worth knowing
| What | Limit |
|---|---|
| Instances per service | 1–20 (autoscaling maximum 20); 0 for a worker scaling on a queue |
| Instance size | 50–8000 millicores, 64–32768 MB |
| Environments per project | 50, including up to 10 open previews |
| Build | 30 minutes, 2 CPUs, 4 GB memory |
| Pre-deploy command | 15 minutes |
| Job run, one-off command | 1 hour by default |
| Health check | Healthy within 5 minutes |
| Database tunnel | 12 hours per connection |
| Postgres / caches / queues per environment | 5 / 5 / 3 |
| Bucket quota | 1–100 GB |