Deploy Uptime Kuma — Self-Hosted UptimeRobot Alternative
Unlimited monitors, 20s intervals, free status pages. No commercial-use ban
Uptime Kuma
Just deployed
/app/data
Deploy and Host Uptime Kuma on Railway

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
| Service | Purpose |
|---|---|
| Uptime Kuma 2.x | The complete monitoring stack — checks, alerting, status pages, and dashboard on port 3001, using the official louislam/uptime-kuma image |
| Persistent Volume | Mounted 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
- Click Deploy on Railway — Uptime Kuma builds automatically (~1–2 minutes)
- The persistent volume at
/app/datais pre-configured — nothing to set - Open your Railway-assigned URL and create your admin account
- Add your first monitor — HTTP, TCP, DNS, ping, keyword, or Docker
- 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.internalhostnames, 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
/metricsendpoint, so you can scrape uptime data into an existing Prometheus + Grafana stack
Configuration
| Variable | Required | Description |
|---|---|---|
| — | — | No environment variables are required. All configuration happens in the web UI after deploy |
UPTIME_KUMA_PORT | Optional | Override the default port 3001 if needed |
All monitors, notification channels, and status pages are configured through the dashboard and stored on the
/app/datavolume. NFS-style network file systems are not supported — Railway's native volumes are the correct storage type.
Uptime Kuma vs. Alternatives
| Uptime Kuma (Railway) | UptimeRobot | Pingdom | Better Stack | |
|---|---|---|---|---|
| Monthly cost | ~$2–5 flat | Free (non-commercial) / $7+ | From $15/mo | From $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 | ❌ Prohibited | N/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
- Uptime Kuma GitHub Repository — source and releases
- Uptime Kuma Notification List — all 90+ channels
- Uptime Kuma Wiki — configuration reference
- Railway Volumes Documentation — persistent storage
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
Uptime Kuma
louislam/uptime-kuma