docs/install/railway.mdx
Deploy OpenClaw on Railway with a one-click template and access it through the web Control UI. This is the easiest "no terminal on the server" path: Railway runs the Gateway for you.
/data.OPENCLAW_GATEWAY_PORT and OPENCLAW_GATEWAY_TOKEN).8080.https://<your-railway-domain>/openclaw and connect using the configured shared secret. This template uses OPENCLAW_GATEWAY_TOKEN by default; if you replace it with password auth, use that password instead.After deploy, find your public URL in Railway → your service → Settings → Domains.
Railway will either:
https://<something>.up.railway.app), orThen open:
https://<your-railway-domain>/openclaw — Control UI/data) so openclaw.json,
per-agent auth-profiles.json, channel/provider state, sessions, and
workspace survive redeploysEnable HTTP Proxy for the service.
8080Attach a volume mounted at:
/dataSet these variables on the service:
OPENCLAW_GATEWAY_PORT=8080 (required — must match the port in Public Networking)OPENCLAW_GATEWAY_TOKEN (required; treat as an admin secret)OPENCLAW_STATE_DIR=/data/.openclaw (recommended)OPENCLAW_WORKSPACE_DIR=/data/workspace (recommended)Use the Control UI at /openclaw or run openclaw onboard via Railway's shell for channel setup instructions:
Export your state, config, auth profiles, and workspace:
openclaw backup create
This creates a portable backup archive with OpenClaw state plus any configured workspace. See Backup for details.