Deploy a worker with flags
A worker container is a long-running background process with no public network exposure — queue consumers, schedulers, stream processors, anything that runs continuously but isn't reachable from outside the project.
A worker container is a long-running background process with no public network exposure — queue consumers, schedulers, stream processors, anything that runs continuously but isn't reachable from outside the project.
For the YAML-mode equivalent, see Deploy a worker with YAML.
Minimal create
reis container:create \
--type worker \
--name "Queue Worker" \
--handle queue-worker \
--image ghcr.io/myorg/app:v1.0.0 \
--regions falkenstein-1A more typical deploy
A Laravel-style queue worker with overridden ENTRYPOINT, env vars, and a secret:
reis container:create \
--type worker \
--name "Queue Worker" \
--handle queue-worker \
--image ghcr.io/myorg/app:v1.0.0 \
--project my-project \
--cpu 200 \
--memory 256 \
--regions falkenstein-1 \
--env QUEUE_CONNECTION=redis \
--env LOG_LEVEL=info \
--secrets DB_PASSWORD=db-password \
--command /usr/bin/php \
--command artisan \
--args queue:work --args --tries=3 --args --max-time=3600--command overrides the image's ENTRYPOINT; --args overrides CMD. Each flag is one token — no shell-splitting, so a value like --max-time=3600 stays a single argument.
Flag reference (worker-specific)
| Flag | Description |
|---|---|
--type worker | Selects the worker type (required) |
--command | ENTRYPOINT token — repeatable |
--args | CMD token — repeatable |
The standard identity, sizing, scaling, env / secret, and observability flags from HTTP containers all apply.
Workers ignore: --port, --healthcheck, and any networking / security flags.
Interactive create
Omit the required flags and Reis walks you through the prompts — including offering to set up an ENTRYPOINT/CMD override interactively if you don't pass --command or --args.
reis container:createUpdating a worker
# Bump the image
reis container:update queue-worker --image ghcr.io/myorg/app:v1.1.0
# Resize
reis container:update queue-worker --cpu 500 --memory 512
# Change the command (REPLACES the existing command array)
reis container:update queue-worker --command /usr/bin/php --command artisan --args queue:listenRepeated --command / --args flags replace the entire array on the server. Passing zero of them leaves the existing override untouched.
Related
- Deploy a worker with YAML — declarative version
- Deploy a cron job with flags — for scheduled execution instead of continuous
- Flag mode overview — repeatable flags, booleans, short aliases