Limits
Every Rootsy limit that's the same on all plans: computer names, request deadlines and sizes, ports, schedules, MCP, uploads, backups, domains and organizations.
This page lists the limits that are the same on every plan. How many computers and custom domains an account gets, and each computer’s memory and storage, depend on the plan. Billing lists those numbers. Backup retention and counts per plan are on Backups and Reset.
Computers
| Limit | Value |
|---|---|
| Address | <name>.rtsy.dev, where <name> is the computer’s slug |
| Slug length | 3 to 32 characters |
| Slug characters | lowercase a–z, 0–9 and single -, not at the start or end |
| CPUs per computer | 8 vCPUs |
| Computers created per rolling 24 hours | twice the plan’s computer count, and at least 10. Deleted computers count. A refused create says when you can try again. |
Some slugs are reserved and can’t be used, including any slug that contains rootsy.
Requests to your apps
These apply to requests that reach your computer at its address or at a custom domain.
| Limit | Value |
|---|---|
Time to first response headers, GET and HEAD | 15 seconds, including any wake |
| Time to connect to your app | 5 seconds |
| Longest wait between two reads from your app | 90 seconds |
| Longest wait between two writes to your app | 90 seconds |
| Request body size | 1,048,576 bytes (1 MiB), counting multipart framing |
| WebSocket upgrades | not passed through |
Paths /_iw and under /_iw/ | always 404. Your app never sees them. |
When a GET or HEAD gets no response headers within 15 seconds, the visitor gets a 503 page with Retry-After: 60. Other methods have no header deadline, but still hit the 90-second read limit. Your nginx’s own default proxy_read_timeout is 60 seconds, so a proxied app gets 60 seconds unless its location sets proxy_read_timeout 90s;. A larger request body usually gets 413, and a much larger one can fail as a dropped connection. When your app returns 502, 503 or 504, or isn’t running, visitors get a Rootsy 503 page instead of your response. Rootsy never retries a request to your app.
Your apps sit behind your nginx on port 8090. See Serve an app.
Ports inside a computer
These ports belong to Rootsy. Don’t listen on them, stop what’s on them, or change their configuration:
| Port | Use |
|---|---|
7681–7687 | terminal, platform auth, uploads, the Files window, preview control, the terminal relay and MCP commands |
8080 | the platform’s web server that every request passes through |
8081 | the code editor |
Port 8090 is your nginx, the web server for your apps. Add config to it, but keep it on that port. Run your own app servers on any other port and proxy to them from 8090. Your computer lists each port.
Outbound network
| Limit | Value |
|---|---|
| TCP port 25 (SMTP) | blocked, for the computer and its Docker containers, over IPv4 and IPv6 |
| Other outbound connections | open |
Scheduled tasks
| Limit | Value |
|---|---|
| Schedules per computer | 20 |
| Shortest interval | 1 minute |
| Methods | GET, POST |
| Path length | 512 characters, starting with /, with no query string |
| Payload | 64 KiB of valid JSON, POST only |
| Name length | 100 characters |
| When value length | 500 characters |
| Response deadline | 90 seconds. Your nginx stops at 60 unless the server block sets proxy_read_timeout 90s;. |
| Retries | none |
| Run now | 1 per minute and 10 per hour, per computer |
| Changes | 60 per minute, per computer |
| History kept | 30 days, up to 10,000 requests per schedule |
| Request ID reuse window | 24 hours |
| Signed request age | at most 120 seconds old, at most 5 seconds in the future |
When several runs are overdue, only the latest is sent, and only within 5 minutes of its time. See Scheduled tasks.
MCP
| Limit | Value |
|---|---|
| One MCP request | 524,288 bytes (512 KiB) |
Page size for list_accounts and list_computers | 1 to 100, default 50 |
| Command script | 16,384 bytes |
| Working directory path | 4,096 bytes |
| Command time limit | default 300 seconds, at most 900 seconds |
| Commands running at once, per computer | 4. A command started past that never runs. |
| Command output returned | last 1,000 journal records, then at most 65,536 bytes |
| Finished command results kept | 24 hours. A computer holds at most 1,000 results, running ones included. Past that, new commands don’t start. |
File moved by import_file or export_file | 1 to 262,144 bytes |
| File path | 4,096 bytes |
| Time for one file call | 60 seconds |
| Imports in progress, per computer | 4 |
| Import receipts kept | 256 per computer, 2,048 per account |
| Time for one domain change | 75 seconds |
A command’s time limit is also cut to what the account’s Runtime Credits can fund. See Connect with MCP.
Uploads and downloads
| Limit | Value |
|---|---|
| File dropped on the terminal | 100 MiB each, up to 20 files at a time |
| File uploaded in the Files window | 10 GiB each |
| Free disk space a Files upload must leave | 2 GiB |
| Unfinished Files uploads | deleted after 7 days without activity |
| Download size | no limit |
| Entries shown in one folder | 2,000 |
| Items in one Download selection | 2,000 |
| File or folder name | 255 bytes |
Files dropped on the terminal land in ~/uploads.
Backups
| Limit | Value |
|---|---|
| Manual backups | 1 per minute |
| Restores | 10 per 24 hours, at least 5 minutes apart, failed attempts included |
| Backup note | 200 characters |
| Return points | the newest 3 that can be restored |
How long backups are kept, and how many manual and pinned backups a computer can hold, depend on the plan. Backups and Reset lists them.
Custom domains
| Limit | Value |
|---|---|
| Hostname length | 253 characters |
| Labels in a hostname | 6 at most |
Internationalized (xn--) names | not supported |
| Time to connect before a domain expires | 7 days |
| Time over the plan’s domain limit before the newest domains detach | 24 hours |
A root domain and its www count as one custom domain. Domains are counted across the account. See Domains.
Storage
| Limit | Value |
|---|---|
| What counts | everything on the disk except the platform’s first 4 GB |
| Over the plan’s limit | Terminal, Editor, uploads and MCP commands pause until the computer is back under 95% of the limit |
See Billing.
Organizations
| Limit | Value |
|---|---|
| Organizations you can create | 3 |
| Organizations you can belong to | 10 |
| Organization name | 1 to 100 characters |
| Invitations | 10 per hour, per member, per organization |
| Invitation link | expires after 7 days |
See Organizations.