Railway

Deploy Uptime Kuma — Self-Hosted UptimeRobot Alternative

Unlimited monitors, 20s intervals, free status pages. No commercial-use ban

Deploy Uptime Kuma — Self-Hosted UptimeRobot Alternative

Just deployed

/app/data

Deploy and Host Uptime Kuma on Railway

Uptime Kuma monitoring dashboard

Uptime Kuma is the most popular open-source uptime monitor — 85k+ GitHub stars — with unlimited monitors, 20-second check intervals, beautiful status pages, and 90+ notification channels (Telegram, Discord, Slack, PagerDuty, email, webhooks). The 2.x line adds MariaDB support, Globalping worldwide probes, and domain expiry monitoring alongside HTTP(s), TCP, DNS, ping, Docker, and game-server checks.

UptimeRobot's free tier is now restricted to personal, non-commercial use — and its paid plans start at $7/month for just 10 monitors at 1-minute intervals. Uptime Kuma on Railway gives you unlimited monitors at 20-second intervals for ~$2–5/month flat, with every check and status page owned by you.


What This Template Deploys

ServicePurpose
Uptime Kuma 2.xThe complete monitoring stack — checks, alerting, status pages, and dashboard on port 3001, using the official louislam/uptime-kuma image
Persistent VolumeMounted at /app/data — monitors, history, notification config, and the embedded SQLite database survive every redeploy

Fully self-contained: embedded SQLite, no PostgreSQL, no Redis, no external dependencies. 512 MB RAM comfortably handles 50–100 monitors at 60-second intervals.


About Hosting Uptime Kuma

The one rule of uptime monitoring: the monitor must not go down with the thing it monitors. Running Uptime Kuma on the same VPS as your apps creates exactly that blind spot. Railway runs it as an independent managed container with automatic HTTPS and a persistent volume — separate from the infrastructure it watches, with zero server maintenance.

The decisive advantage over SaaS monitors: UptimeRobot's external probes cannot reach private IPs, localhost, or internal services. Uptime Kuma deployed on Railway can monitor anything your Railway project can reach — including other services over Railway's private network.

Typical cost: ~$2–5/month on Railway's Hobby plan. UptimeRobot Solo is $7/month for 10 monitors at 1-minute intervals, and its free tier now prohibits commercial use. Commercial status-page tools charge $20–100/month for what Uptime Kuma includes free.


Deploy in Under 2 Minutes

  1. Click Deploy on Railway — Uptime Kuma builds automatically (~1–2 minutes)
  2. The persistent volume at /app/data is pre-configured — nothing to set
  3. Open your Railway-assigned URL and create your admin account
  4. Add your first monitor — HTTP, TCP, DNS, ping, keyword, or Docker
  5. Connect notifications: Telegram, Discord, Slack, email, or any of 90+ channels

No database setup. No environment variables required. No SSL configuration.


Common Use Cases

  • Self-hosted alternative to UptimeRobot — unlimited monitors at 20-second intervals with no per-monitor pricing; UptimeRobot's free tier is now non-commercial-only and paid starts at $7/month for 10 monitors
  • Monitor internal Railway services — check private IPs, .railway.internal hostnames, and localhost endpoints that external SaaS probes can never reach
  • Free public status page — branded status pages with custom domains at no cost, versus $20–100/month for commercial status-page tools
  • Startup and agency monitoring without commercial-use restrictions — UptimeRobot's free tier prohibits commercial use; Uptime Kuma is MIT-licensed with no usage restrictions
  • SSL and domain expiry alerts — certificate expiry warnings plus v2.1's domain expiry monitoring, so renewals never blindside you
  • Prometheus-compatible observability — Uptime Kuma exposes a /metrics endpoint, so you can scrape uptime data into an existing Prometheus + Grafana stack

Configuration

VariableRequiredDescription
No environment variables are required. All configuration happens in the web UI after deploy
UPTIME_KUMA_PORTOptionalOverride the default port 3001 if needed

All monitors, notification channels, and status pages are configured through the dashboard and stored on the /app/data volume. NFS-style network file systems are not supported — Railway's native volumes are the correct storage type.


Uptime Kuma vs. Alternatives

Uptime Kuma (Railway)UptimeRobotPingdomBetter Stack
Monthly cost~$2–5 flatFree (non-commercial) / $7+From $15/moFrom $29/mo
Monitors✅ Unlimited❌ 50 free / 10 on Solo❌ Tiered❌ Tiered
Check interval✅ 20 seconds❌ 5 min free / 1 min paid❌ 1 min✅ 30 sec
Commercial use on free✅ MIT, unrestricted❌ ProhibitedN/A⚠️ Limited
Monitors internal services✅ Private IPs, localhost❌ External only❌ External only❌ External only
Status pages✅ Unlimited, free⚠️ Capped, paid branding⚠️ Add-on✅ Included
Notification channels✅ 90+⚠️ Fewer, SMS credits⚠️ Limited✅ Good
Self-hostable✅ Yes❌ No❌ No❌ No

Dependencies for Uptime Kuma Hosting

  • Railway account — Hobby plan (~$2–5/month) for the single-service deployment
  • Nothing else — SQLite is embedded, notifications use your existing accounts (free)

Deployment Dependencies

Implementation Details

This template deploys the official louislam/uptime-kuma:2 image with a Railway persistent volume at /app/data. The 2.x line adds MariaDB support for large installations, Globalping integration for worldwide probe locations, and domain expiry monitoring — while the embedded SQLite remains performant well past 500 monitors for typical deployments.

Uptime Kuma runs everything in one container: checks, the Vue dashboard, alerting, and status pages. The /metrics endpoint exposes Prometheus-compatible uptime data on the same port. Because it deploys inside your Railway project, it can monitor sibling services over private networking — the one capability no external SaaS monitor can replicate.


Frequently Asked Questions

Why switch from UptimeRobot to Uptime Kuma? UptimeRobot's free tier is now restricted to personal, non-commercial use, checks at 5-minute intervals, and paid plans start at $7/month for 10 monitors. Uptime Kuma gives unlimited monitors at 20-second intervals with no usage restrictions, for flat Railway compute of ~$2–5/month. Migration takes under an hour: recreate monitors, point notifications at the same channels, switch dashboards.

Can Uptime Kuma monitor internal services that aren't publicly accessible? Yes — this is its key advantage over every SaaS monitor. Deployed on Railway, it can reach private IPs, localhost, internal APIs, and .railway.internal addresses. External probes like UptimeRobot's can only see public endpoints.

Do I lose monitoring history if Railway redeploys? No. All monitors, history, and configuration live on the persistent volume at /app/data. Redeploys and version updates don't affect your data. Checks pause during a redeploy and resume automatically; history is preserved.

How many monitors can one instance handle? 512 MB RAM handles 50–100 monitors at 60-second intervals comfortably. Scale to 1 GB for 200+ monitors or aggressive 20-second intervals. SQLite stays performant well beyond 500 monitors; v2.x adds MariaDB support for very large installations.

Is Uptime Kuma really free for commercial use? Yes — MIT licensed, no usage limits, no licensing fees, actively maintained. Unlike UptimeRobot's free tier, there is no non-commercial restriction. You pay only Railway compute.

What happens if Railway itself has an outage? Checks pause and resume when service restores; historical data on the volume is preserved. For belt-and-braces redundancy, some teams pair a self-hosted Kuma with a free external probe watching the Kuma instance itself.


Why Deploy and Host Uptime Kuma 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 Uptime Kuma on Railway, you get unlimited uptime monitors at 20-second intervals, free branded status pages, 90+ notification channels, and the ability to monitor internal services no SaaS probe can reach — at ~$2–5/month flat with no commercial-use restrictions.


Template Content

More templates in this category

View Template
SigOnly
Deploy SigNoz with a working demo app & config in one click

zoeyjones
21
View Template
Unwrapped Spotify Music Stats
Unwrapped Spotify Music Stats, Estatísticas de músicas disponíveis

Jorge Henrique
1
View Template
OpenTelemetry Collector and Backend
OpenTelemetry Collector with Backend Stack

Melissa
109