SpocketDOCS
REFERENCE

Runtimes and limits

What runs here, and the ceilings that apply.

Languages

RUNTIMEVERSIONMANIFEST
Node22package.json
Python3.11requirements.txt

ffmpeg is available for voice and media work. Anything else your program needs must come from your manifest.

Memory

PLANMEMORYDISKCPU
Free trial384 MB1 GB40%
Solo512 MB2 GB50%
Builder768 MB4 GB75%
Fleet1 GB8 GB100%

An app that exceeds its memory ceiling is stopped and restarted rather than being allowed to affect anyone else. These are the figures we measure in practice:

WORKLOADTYPICAL MEMORY
A cron job~50 MB
A scraper using cheerio~75 MB
A Slack app~85 MB
A Discord app~90 MB
A busy app holding a lot in memory~100–150 MB
Puppeteer or Playwright with one browser~400–500 MB

So Solo comfortably fits anything that is not driving a browser — five times over. Headless browsers are the exception and want Builder or Fleet.

Disk covers your code, its dependencies and anything the app writes while running. A Discord app with its packages is around 100 MB, so the allowances are generous on purpose — you should only meet the limit if something is writing files it never cleans up.

CPU is a share of one core. It is deliberately modest: enough for any app, not enough to make mining worth attempting.

What this is for

Long-lived processes: gateway connections, queue consumers, pollers, schedulers. Things that need to be awake rather than woken up.

It is not a static host — a folder of HTML with no process behind it belongs somewhere else. An app that serves HTTP is fine: bind process.env.PORT and you get a public URL, and your own domain if you want one. See Inbound HTTP.

PREVIOUSMCP toolsNEXTInbound HTTP