Quick checklist (new users)
- Click Deploy on Railway (below).
- Add a Volume mounted at
/data. - Set the required Variables (at least
VELACLAW_GATEWAY_PORTandVELACLAW_GATEWAY_TOKEN). - Enable HTTP Proxy on port
8080. - Open
https://<your-railway-domain>/and connect using the configured shared secret. This template usesVELACLAW_GATEWAY_TOKENby default; if you replace it with password auth, use that password instead.
One-click deploy
Deploy on Railway 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.
https://<your-railway-domain>/— Control UI
What you get
- Hosted Velaclaw Gateway + Control UI
- Persistent storage via Railway Volume (
/data) sovelaclaw.json, per-agentauth-profiles.json, channel/provider state, sessions, and workspace survive redeploys
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:VELACLAW_GATEWAY_PORT=8080(required — must match the port in Public Networking)VELACLAW_GATEWAY_TOKEN(required; treat as an admin secret)VELACLAW_STATE_DIR=/data/.velaclaw(recommended)VELACLAW_WORKSPACE_DIR=/data/workspace(recommended)
Connect a channel
Use the Control UI at/ or run velaclaw onboard via Railway’s shell for channel setup instructions:
- Telegram (fastest — just a bot token)
- Discord
- All channels
Backups & migration
Export your state, config, auth profiles, and workspace:Next steps
- Set up messaging channels: Channels
- Configure the Gateway: Gateway configuration
- Keep Velaclaw up to date: Updating