← All documentation
Developers

Choosing Worker or Web

When to pick Worker vs Web process mode, with examples.

Choosing Worker or Web

At delivery submit you must pick a process mode. There is no default.

Quick rule

  • Choose Worker if your app is a long-running process and does not need a public HTTP URL.
  • Choose Web if your app must accept inbound HTTP (webhooks, OAuth callbacks, a public API, or a site users open in a browser).

If anything outside Velcio must call your app over HTTPS, pick Web.

Examples

ExampleModeWhy
Discord bot that only uses the Gateway (outbound to Discord)WorkerNo public URL; Velcio runs the process
Poller or scheduler that calls APIs on a timerWorkerOutbound-only; no inbound HTTP
Background job with no HTTP serverWorkerLong-lived process without a hostname
Stripe / Slack / WhatsApp / Discord Interactions webhookWebProvider must POST to a public URL
Small HTTP API or dashboard on *.velcio.appWebNeeds public HTTPS
OAuth redirect / callback endpointWebIdentity provider must reach your app

Still unsure? Prefer Web when you need inbound traffic; prefer Worker when the process only talks outbound (typical Discord bots).

What each mode gives you

Worker

  • Long-running container with no public hostname
  • Logs and deploy controls on the project page
  • Packaging: Delivery format

Web

  • Public HTTPS at https://{slug}.velcio.app
  • Bind 0.0.0.0 and env PORT (Velcio sets 8080); your app must implement GET /healthz with HTTP 2xx (Velcio does not add this route)
  • Wrong port → public 502 even if the container looks fine
  • Packaging: Web delivery format

Related

Choosing Worker or Web | Velcio Docs