Skip to main content
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.

One-click deploy

Deploy on Railway
1

Deploy the template

Click Deploy on Railway above.
2

Add a volume

Attach a volume mounted at /data (required for persistent state).
3

Set variables

Set the required 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)
4

Enable public networking

Under Public Networking, enable HTTP Proxy for the service on port 8080.
5

Connect

Find your public URL in Railway -> your service -> Settings -> Domains — either a generated domain (often https://<something>.up.railway.app) or your attached custom domain.Open https://<your-railway-domain>/openclaw and connect using the configured shared secret. The template uses OPENCLAW_GATEWAY_TOKEN by default; if you replace it with password auth, use that password instead.

What you get

  • Hosted OpenClaw Gateway + Control UI
  • Persistent storage via the Railway Volume (/data), so openclaw.json, per-agent auth-profiles.json, channel/provider state, sessions, and workspace survive redeploys

Connect a channel

Use the Control UI at /openclaw or run openclaw onboard via Railway’s shell for channel setup instructions:

Backups and migration

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.

Next steps