
Deploy World Monitor Self-Hosted
World Monitor global intelligence dashboard, 143 feeds live with no keys
worldmonitor
Just deployed
ais-relay
Just deployed
seeders
Just deployed
redis-rest
Just deployed
Redis
Just deployed
worldmonitor-gateway
Just deployed
Deploy and Host World Monitor Self-Hosted on Railway
World Monitor is a real time global intelligence dashboard. One interactive map brings together earthquakes, wildfires, weather alerts, natural disasters, conflict and protest events, ship and flight tracking, GPS jamming, markets, prediction markets, crypto, cyber threats and an AI ranked news digest, with country briefs and an MCP server for agents.
About Hosting World Monitor Self-Hosted
This template runs the complete self-hosted stack from the upstream Docker setup instead of a frontend that forwards to the hosted API. Your dashboard reads from your own Redis, filled by your own relay and seeders. It deploys six services: the World Monitor app (nginx plus the Node API sidecar), a login gateway, the relay that handles live feeds, news RSS and market data, an Upstash compatible REST proxy, Redis with a persistent volume, and a seeders service that refreshes public datasets every 30 minutes. The dashboard arrives populated with no API keys at all: the seeders service runs 143 of upstream's 214 data feeds by default, each one measured on Railway to publish real data without a key. The World Monitor services are built from a pinned fork of upstream (protemplate/worldmonitor, branch railway-stable), because upstream publishes no images for the self-hosted stack, several security fixes are newer than the last release tag, and following upstream's moving main directly would let a broken upstream commit break new deploys. Every secret is generated at deploy and every service is wired over Railway's private network.
Common Use Cases
- Team situation room: a private, login protected world view for analysts, newsrooms, security and risk teams
- Geopolitical and supply chain monitoring: conflicts, chokepoints, shipping, energy and markets on one map
- Agent data source: point Claude or other MCP clients at
/api/mcpwith your operator key - Keyless public data dashboard: earthquakes, weather, natural events, prediction markets and crypto with no API keys at all
Dependencies for World Monitor Self-Hosted Hosting
- Redis: included, with a persistent volume
- API keys: none required. Optional keys (Groq or OpenRouter for AI summaries, aisstream.io for ships, NASA FIRMS for wildfires, FRED, EIA, ACLED, Finnhub) unlock more layers
Deployment Dependencies
- World Monitor on GitHub
- Upstream self hosting guide
- aisstream.io for the free ship tracking key
Implementation Details
First steps after deploy:
- Wait for the builds to finish. The app image compiles the frontend, so the first deploy takes several minutes.
- Open the
worldmonitor-gatewaydomain and sign in withUI_USERNAMEandUI_PASSWORDfrom that service's variables. - Give the
seedersservice about ten minutes for its first full cycle; panels fill in as it runs. To enable a feed that needs a key, add the key, then append that seeder's name toSEEDERS. - Add optional API keys on the service that uses them and redeploy that service.
Key variables:
# worldmonitor-gateway
UI_USERNAME=admin
UI_PASSWORD=${{secret(24)}}
PUBLIC_DASHBOARD=false # true removes the login prompt
# worldmonitor
WORLDMONITOR_VALID_KEYS=wm_${{secret(40,"abcdef0123456789")}} # X-WorldMonitor-Key for API and MCP
UPSTASH_REDIS_REST_URL=http://${{redis-rest.RAILWAY_PRIVATE_DOMAIN}}:${{redis-rest.PORT}}
WS_RELAY_URL=https://${{ais-relay.RAILWAY_PUBLIC_DOMAIN}}
GROQ_API_KEY= # optional, AI summaries
# ais-relay
RELAY_SHARED_SECRET=${{secret(64,"abcdef0123456789")}}
AISSTREAM_API_KEY= # optional, live ships
# seeders
SEED_MODE=core # all runs every upstream seeder
SEED_PARALLEL=3 # seeders at once; above 3 public APIs rate limit
SEED_INTERVAL_SECONDS=1800
The dashboard has no login of its own, so it sits behind a Caddy basic auth gateway by default. The relay has a public domain because the app's SSRF guard only accepts public addresses for it; every non public relay route requires the shared secret.
World Monitor is licensed AGPL-3.0: if you modify it and serve the modified version to others over a network, you must publish your source.
Why Deploy World Monitor Self-Hosted on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying World Monitor Self-Hosted on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
worldmonitor
protemplate/worldmonitorais-relay
protemplate/worldmonitorseeders
protemplate/worldmonitorredis-rest
protemplate/worldmonitorRedis
redis:7.4.11-alpineworldmonitor-gateway
caddy:2.11.4-alpine
