Skip to content

Search docs

Search the Skiffly documentation

Deployment statuses

Every value of `DeploymentStatus`, what it means on Skiffly, what you can do in that state and how the dashboard, CLI and MCP show it.

The DeploymentStatus enum is Railway-compatible; the CLI and MCP print the lowercase form.

StatusMeaningActions
QUEUEDAccepted, waiting for a node to pick it upcancel
BUILDINGImage build running, or waiting for one of the two build slots on the node (waiting for a build slot)watch build logs
DEPLOYINGImage ready, containers starting, health check not passed yet; the previous deployment still serves trafficwatch runtime and system logs
SUCCESSLive. For a cron service: the schedule is registeredredeploy, restart, roll back to it later
FAILEDBuild error, health check not passed in time (see limits), image pull error, quota exceeded, or node lost for 20 minutes; the previous deployment keeps runningread message and logs, fix, deploy
CRASHEDThe container exited repeatedly after going live (3 restarts in a row), or the restart policy stopped it after max retries crashes (scaled to zero, stopped after N restarts); message contains the last log linesread logs, fix, deploy; restart; roll back
SLEEPINGScaled to zero by App Sleeping; the next HTTP request wakes itsend a request, or turn sleeping off
REMOVEDReplaced by a newer deployment, cancelled, removed by hand, or the service was deletedroll back (its saved image is redeployed, no rebuild, while canRollback is true — up to 14 days after removal)

Reserved and never returned today: INITIALIZING, NEEDS_APPROVAL, REMOVING, SKIPPED, WAITING.

Messages#

Deployment.message explains waits and failures with the underlying event:

MessageCause
waiting for a build slottwo builds already running on the node
exceeded quota …the environment's CPU/memory quota is full; lower limits or replicas of other services
ImagePullBackOff …the image name or tag is wrong, or the registry is private
OOMKilledthe container used more than its memory limit
CrashLoopBackOff: …the process keeps exiting; the last log lines follow
build timed out / node lostno status from the node for 20 minutes
cancelled by <user>cancelled while queued

Where to see it#

  • Dashboard: service card on the canvas, Deployments tab, project Logs.
  • CLI: skiffly status, skiffly deployment list, skiffly up (streams until SUCCESS or a failure).
  • MCP: get-status, list-deployments, get-logs.
  • GraphQL: deployment(id) { status message }, deployments(input: { status: { in: [FAILED, CRASHED] } }).