Koo Docs
View as Markdown

Service modes

Every web service runs in exactly one mode: standard, serverless, cron, or volume. The mode decides how the service runs — always on, scaled to zero when idle, on a schedule, or with a persistent disk attached.

Modes apply to web services only. Databases run only as standard: always on, with exactly one replica.

Compare the modes

ModeWhat it is forHealth you'll seeCan it be exposed?
StandardAn always-on app or API: a fixed number of replicas per location, running around the clock.OnlineYes
ServerlessTraffic that comes and goes: Koo scales from zero on demand and back to zero when idle.Online, or Sleeping when idleYes
CronScheduled work: the container starts on a schedule, runs to completion, and takes no HTTP traffic.ScheduledNo — never
VolumeAn app that needs a persistent disk that survives restarts and redeploys.OnlineYes

Whatever the mode, a rolling-out service shows In progress first — see status for how health is reported.

Standard

Standard is the default. The service keeps a fixed replica count in each of its locations and stays up whether or not requests arrive.

Replica counts, sizes, and locations are covered in resources and scaling.

Serverless

Serverless mode scales the service to zero when it is idle and wakes it on the next request. The replica count becomes the scale ceiling rather than a fixed count.

See serverless & scale to zero.

Cron

Cron mode runs the container on a 5-field cron schedule instead of keeping it up. A cron service takes no HTTP traffic and can never be exposed.

See run cron jobs.

Volume

Volume mode attaches a persistent disk to the service. The disk keeps its data across restarts and redeploys, and the service runs a single replica so the disk has one writer.

See volumes.

Change a service's mode

  1. On the environment canvas, click the service to open its drawer and go to the Settings tab.
  2. Serverless and cron live in the Deploy section: turn on Enable serverless or Run on a schedule. A volume is attached in the Volumes section with Attach volume.
  3. Press Deploy on the changes bar to apply. Mode changes are staged like any other spec edit — nothing changes until you deploy.

A web service runs as exactly one of standard, serverless, cron, or volume. The console disables the other toggles while one is on, and the API rejects a write that enables two at once.