Spaces:
Running
Running
| --- | |
| title: Deploy on Railway | |
| --- | |
| Deploy OpenClaw on Railway with a one-click template and finish setup in your browser. | |
| This is the easiest “no terminal on the server” path: Railway runs the Gateway for you, | |
| and you configure everything via the `/setup` web wizard. | |
| ## Quick checklist (new users) | |
| 1. Click **Deploy on Railway** (below). | |
| 2. Add a **Volume** mounted at `/data`. | |
| 3. Set the required **Variables** (at least `SETUP_PASSWORD`). | |
| 4. Enable **HTTP Proxy** on port `8080`. | |
| 5. Open `https://<your-railway-domain>/setup` and finish the wizard. | |
| ## One-click deploy | |
| <a href="https://railway.com/deploy/clawdbot-railway-template" target="_blank" rel="noreferrer"> | |
| Deploy on Railway | |
| </a> | |
| After deploy, find your public URL in **Railway → your service → Settings → Domains**. | |
| Railway will either: | |
| - give you a generated domain (often `https://<something>.up.railway.app`), or | |
| - use your custom domain if you attached one. | |
| Then open: | |
| - `https://<your-railway-domain>/setup` — setup wizard (password protected) | |
| - `https://<your-railway-domain>/openclaw` — Control UI | |
| ## What you get | |
| - Hosted OpenClaw Gateway + Control UI | |
| - Web setup wizard at `/setup` (no terminal commands) | |
| - Persistent storage via Railway Volume (`/data`) so config/credentials/workspace survive redeploys | |
| - Backup export at `/setup/export` to migrate off Railway later | |
| ## Required Railway settings | |
| ### Public Networking | |
| Enable **HTTP Proxy** for the service. | |
| - Port: `8080` | |
| ### Volume (required) | |
| Attach a volume mounted at: | |
| - `/data` | |
| ### Variables | |
| Set these variables on the service: | |
| - `SETUP_PASSWORD` (required) | |
| - `PORT=8080` (required — must match the port in Public Networking) | |
| - `OPENCLAW_STATE_DIR=/data/.openclaw` (recommended) | |
| - `OPENCLAW_WORKSPACE_DIR=/data/workspace` (recommended) | |
| - `OPENCLAW_GATEWAY_TOKEN` (recommended; treat as an admin secret) | |
| ## Setup flow | |
| 1. Visit `https://<your-railway-domain>/setup` and enter your `SETUP_PASSWORD`. | |
| 2. Choose a model/auth provider and paste your key. | |
| 3. (Optional) Add Telegram/Discord/Slack tokens. | |
| 4. Click **Run setup**. | |
| If Telegram DMs are set to pairing, the setup wizard can approve the pairing code. | |
| ## Getting chat tokens | |
| ### Telegram bot token | |
| 1. Message `@BotFather` in Telegram | |
| 2. Run `/newbot` | |
| 3. Copy the token (looks like `123456789:AA...`) | |
| 4. Paste it into `/setup` | |
| ### Discord bot token | |
| 1. Go to https://discord.com/developers/applications | |
| 2. **New Application** → choose a name | |
| 3. **Bot** → **Add Bot** | |
| 4. **Enable MESSAGE CONTENT INTENT** under Bot → Privileged Gateway Intents (required or the bot will crash on startup) | |
| 5. Copy the **Bot Token** and paste into `/setup` | |
| 6. Invite the bot to your server (OAuth2 URL Generator; scopes: `bot`, `applications.commands`) | |
| ## Backups & migration | |
| Download a backup at: | |
| - `https://<your-railway-domain>/setup/export` | |
| This exports your OpenClaw state + workspace so you can migrate to another host without losing config or memory. | |