Skip to content

PotLock/clawdbot-reply-marketing

 
 

Repository files navigation

OpenClaw Railway Template (1‑click deploy)

This repo packages OpenClaw for Railway with a small /setup web wizard so users can deploy and onboard without running any commands.

What you get

  • OpenClaw Gateway + Control UI (served at / and /openclaw)
  • A friendly Setup Wizard at /setup (protected by a password)
  • Persistent state via Railway Volume (so config/credentials/memory survive redeploys)
  • One-click Export backup (so users can migrate off Railway later)
  • Import backup from /setup (advanced recovery)

How it works (high level)

  • The container runs a wrapper web server.
  • The wrapper protects /setup with SETUP_PASSWORD.
  • During setup, the wrapper runs openclaw onboard --non-interactive ... inside the container, writes state to the volume, and then starts the gateway.
  • After setup, / is OpenClaw. The wrapper reverse-proxies all traffic (including WebSockets) to the local gateway process.

Railway deploy instructions (what you’ll publish as a Template)

In Railway Template Composer:

  1. Create a new template from this GitHub repo.
  2. Add a Volume mounted at /data.
  3. Set the following variables:

Required:

  • SETUP_PASSWORD — user-provided password to access /setup

Recommended:

  • OPENCLAW_STATE_DIR=/data/.openclaw
  • OPENCLAW_WORKSPACE_DIR=/data/workspace

Optional:

  • OPENCLAW_GATEWAY_TOKEN — if not set, the wrapper generates one (not ideal). In a template, set it using a generated secret.

Notes:

  • This template pins OpenClaw to a known-good version by default via Docker build arg OPENCLAW_GIT_REF.
  • Backward compatibility: The wrapper includes a shim for CLAWDBOT_* environment variables (logs a deprecation warning when used). MOLTBOT_* variables are not shimmed — this repo never shipped with MOLTBOT prefixes, so no existing deployments rely on them.
  1. Enable Public Networking (HTTP). Railway will assign a domain.
    • This service is configured to listen on port 8080 (including custom domains).
  2. Deploy.

Then:

  • Visit https://<your-app>.up.railway.app/setup
  • Complete setup
  • Visit https://<your-app>.up.railway.app/ and /openclaw

Getting chat tokens (so you don’t have to scramble)

Telegram bot token

  1. Open Telegram and message @BotFather
  2. Run /newbot and follow the prompts
  3. BotFather will give you a token that looks like: 123456789:AA...
  4. Paste that token into /setup

Discord bot token

  1. Go to the Discord Developer Portal: https://discord.com/developers/applications
  2. New Application → pick a name
  3. Open the Bot tab → Add Bot
  4. Copy the Bot Token and paste it into /setup
  5. Invite the bot to your server (OAuth2 URL Generator → scopes: bot, applications.commands; then choose permissions)

Local smoke test

docker build -t openclaw-railway-template .

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 \
  openclaw-railway-template

# open http://localhost:8080/setup (password: test)

Official template / endorsements

Railway template deploy count

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 95.7%
  • Dockerfile 4.3%