Your AI gateway that never stops charging. 🐂
One-click deploy MadBull (powered by OpenClaw) on Railway with a web-based setup wizard. No terminal required.
- AI Gateway + Control UI served at
/ - Setup Wizard at
/setup(password-protected, modern dark UI) - Persistent state via Railway Volume — config, credentials, and memory survive redeploys
- Backup export/import from
/setupfor easy migration - Channel support — Telegram, Discord, Slack bots configured from the browser
- Click Deploy on Railway above
- Add a Volume mounted at
/data - Set these Variables:
| Variable | Required | Default | Description |
|---|---|---|---|
SETUP_PASSWORD |
Yes | — | Password to access /setup |
PORT |
Yes | 8080 |
Must match Railway's HTTP Proxy port |
OPENCLAW_STATE_DIR |
Recommended | ~/.openclaw |
Set to /data/.openclaw for persistence |
OPENCLAW_WORKSPACE_DIR |
Recommended | (state dir)/workspace | Set to /data/workspace |
OPENCLAW_GATEWAY_TOKEN |
Optional | Auto-generated | Admin token for the gateway |
- Enable Public Networking (HTTP Proxy on port 8080)
- Deploy, then visit
https://<your-domain>/setup
- Message @BotFather on Telegram
- Run
/newbotand follow the prompts - Copy the token (looks like
123456789:AA...) and paste into/setup
- Go to Discord Developer Portal
- New Application → Bot → Add Bot
- Enable MESSAGE CONTENT INTENT (Bot → Privileged Gateway Intents) or the bot will crash
- Copy the Bot Token and paste into
/setup - Invite to your server via OAuth2 URL Generator (scopes:
bot,applications.commands)
- Create a Slack App at api.slack.com
- Get both the Bot Token (
xoxb-...) and App Token (xapp-...) - Paste into
/setup
docker build -t madbull-railway .
docker run --rm -p 8080:8080 \
-e PORT=8080 \
-e SETUP_PASSWORD=test \
-e OPENCLAW_STATE_DIR=/data/.openclaw \
-e OPENCLAW_WORKSPACE_DIR=/data/workspace \
-v $(pwd)/.tmpdata:/data \
madbull-railway
# open http://localhost:8080/setup (password: test)The container runs a wrapper Express server that:
- Protects
/setupwithSETUP_PASSWORD(Basic Auth) - Runs
openclaw onboard --non-interactiveduring setup - Starts the OpenClaw gateway on an internal port
- Reverse-proxies all traffic (including WebSockets) to the gateway
After setup, / is your fully functional AI gateway.
This is a rebranded fork of clawdbot-railway-template. Upstream updates can be merged with git fetch upstream && git merge upstream/main.
MIT