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
svl run --cpu 2 --mem 4g --disk 20g ubuntu:24.04 sleep infinity
svl classes shows how much room is free in each region. If nothing fits, the pod fails with no_capacity and a message saying what was available.
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.