Title here
Summary here
Maintenance mode returns HTTP 503 for all routes except framework assets at /__pionia/*. Visitors see a configurable message; API clients get a JSON envelope.
php pionia maintenance:on --message="Deploying" --retry-after=300 --bypass="$(openssl rand -hex 16)"
php pionia maintenance:offUse a unique random bypass token each time. Do not copy example tokens from documentation into production.
Aliases: down / up.
environment/settings.ini:
[maintenance]
ENABLED = true
MESSAGE = We will be back shortly.
RETRY_AFTER = 120
; Set MAINTENANCE_BYPASS in environment/.env — do not commit the real value
BYPASS =# environment/.env (gitignored)
MAINTENANCE_BYPASS=your-generated-random-stringMap MAINTENANCE_BYPASS into settings in your provider, or set BYPASS locally only on machines that need it.
| Setting | Purpose |
|---|---|
ENABLED | Gate active when true |
MESSAGE | Body text / JSON message |
RETRY_AFTER | Retry-After header (seconds) |
BYPASS | Query ?bypass=<token> or header X-Maintenance-Bypass: <token> |
Or set MAINTENANCE_MODE=true in .env.
Workers re-read settings.ini on each request — toggle maintenance without restarting RR.
/__pionia/* — framework CSS, logos, welcome assetsStatic files under /static/ and the API are blocked while maintenance is on.
Related: RoadRunner · CLI commands.