A pod is one container running on serverless.au. You choose the image, command, size and region; serverless.au finds room for it, pulls the image and starts it.
Lifecycle
pending → scheduled → pulling → running → exited | failed | terminated
- exited — the command finished (
svl lsshows the exit code). - failed — serverless.au couldn't run it, with a reason (for example
image pull failed: …). - terminated — stopped by you, an administrator, or because the account ran out of credit.
Watch it happen with svl events <pod>. Billing starts when the container starts and stops when it does — pulling an image is free.
Foreground and background
Like docker run, svl run without -d follows the pod: it streams output and exits with the container's exit code. Press Ctrl-C to detach — the pod keeps running.
svl run python:3-alpine python -c 'print(2 + 2)'
svl run -d --name worker myorg/worker:1.4
Size
Pods come in shapes: a fixed vCPU, memory and disk, with an hourly price.
svl shapes # sizes, prices and what's free in each region
svl run --shape c2.medium ubuntu:26.04 sleep infinity # 2 vCPU, 4 GB memory, 20 GB boot disk
Without --shape a pod gets c1.small (1 vCPU, 1 GB, 5 GB).
A shape's vCPU is guaranteed. When the server has spare CPU, a pod may burst above it, up to the limit svl shapes shows (a c1.half bursts to 1 vCPU, a c2.medium to 4). Burst isn't guaranteed and isn't billed. Memory never bursts: a pod that uses more than its shape's memory is stopped.
A shape's disk is a boot disk for what the container writes while it runs: 5 GB per GB of memory, at most 20 GB, and gone when the pod stops (your image doesn't count against it). Keep data on a volume. When there's no room for a shape right now but more capacity can be started, the pod shows provisioning while a new node comes up (a few minutes); if a shape can't run anywhere, it fails with no_capacity and says why.
Environment
svl run -e MODE=prod -e API_TOKEN myorg/app
-e KEY with no value copies KEY from your shell. Environment values are encrypted at rest.
Isolation
Pods on shared hardware run inside a gVisor sandbox and can't reach each other, the host, or private networks. They can reach the internet.
Disks are temporary
A pod's disk is deleted when the pod stops. Keep anything you need in a volume, your own storage, or copy it out with svl cp first.