---
title: "Deploy Uptime Kuma"
description: "Self-hosted uptime monitoring with alerts and beautiful status pages."
category: "Observability"
url: https://railway.com/deploy/kuma
---

# Deploy Uptime Kuma

Self-hosted uptime monitoring with alerts and beautiful status pages.

**[Deploy Uptime Kuma on Railway](https://railway.com/template/kuma)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/kuma/manifest.json

- **Creator:** Rakit
- **Category:** Observability
- **Total deploys:** 1

## Template content

### uptime-kuma https://uptime.kuma.pet/img/icon.svg

- **Image:** louislam/uptime-kuma:latest
- **Public domain:** Yes

## Documentation

# Deploy and Host Uptime Kuma on Railway

Uptime Kuma is a self-hosted monitoring platform for websites, APIs, servers, ports, and other services. It provides uptime checks, alerts, response-time tracking, and customizable status pages through a clean web interface, making it a practical alternative to hosted uptime-monitoring services.

## About Hosting Uptime Kuma

Hosting Uptime Kuma on Railway gives you a persistent monitoring service without managing a separate virtual machine or server manually.

This template runs the official Uptime Kuma Docker image, exposes the web interface on port `3001`, and stores application data in a persistent Railway volume mounted at `/app/data`.

The deployment includes `RAILWAY_RUN_UID=0` to avoid permission issues when the non-root Uptime Kuma container writes to Railway-mounted storage.

After deployment, generate a Railway public domain, open the Uptime Kuma dashboard, create the administrator account, and start adding websites, APIs, TCP ports, or other services that you want to monitor.

## Common Use Cases

* Monitor websites, APIs, servers, and network services
* Receive downtime and recovery notifications
* Publish public or private service status pages
* Track response times and service availability
* Monitor internal services without sending data to a third-party monitoring provider

## Comparison with Similar Monitoring Platforms

Uptime Kuma is best suited for users who want an open-source, self-hosted monitoring platform with a broad range of monitor types and a simple web interface. The following comparison highlights how it differs from several popular alternatives.

| Platform                        | Hosting model                      | Main strengths                                                                                                           | Limitations compared with Uptime Kuma                                                                                  |
| ------------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------- |
| **Uptime Kuma**                 | Self-hosted or deployed on Railway | Open source, no per-monitor subscription, many monitor types, notifications, status pages, and a user-friendly interface | Requires you to manage deployment, updates, storage, and availability                                                  |
| **UptimeRobot**                 | Fully managed SaaS                 | Easy setup, hosted infrastructure, simple uptime monitoring, and a free tier                                             | Free and lower-cost plans may limit monitoring frequency, monitor count, alerting options, or advanced features        |
| **Better Uptime**               | Fully managed SaaS                 | Incident management, on-call scheduling, status pages, and integrations for teams                                        | More focused on managed incident response and may become expensive as usage and team requirements grow                 |
| **Pingdom**                     | Fully managed SaaS                 | Mature website performance monitoring, real-user monitoring, and detailed reporting                                      | Generally more expensive and less flexible for self-hosted or infrastructure-specific monitoring                       |
| **Grafana Cloud**               | Managed observability platform     | Metrics, logs, traces, dashboards, alerting, and extensive integrations                                                  | More complex to configure and operate for users who only need straightforward uptime checks                            |
| **Prometheus and Alertmanager** | Self-hosted                        | Powerful metrics collection, flexible alerting, and strong support for infrastructure monitoring                         | Requires more configuration and additional components; it is less turnkey than Uptime Kuma for basic uptime monitoring |
| **Healthchecks.io**             | Managed SaaS or self-hosted        | Excellent for cron jobs, scheduled tasks, and heartbeat monitoring                                                       | Primarily designed for job and task monitoring rather than broad website, port, database, and service checks           |

### When to Choose Uptime Kuma

Choose Uptime Kuma when you want:

* An open-source alternative to commercial monitoring services
* A simple interface for monitoring websites, APIs, ports, DNS, and servers
* Control over your monitoring data and deployment environment
* Customizable notifications and status pages
* A cost-effective solution without per-monitor SaaS pricing

A managed platform may be a better choice if you need guaranteed vendor-operated availability, advanced incident-management workflows, enterprise support, large-scale observability, or minimal operational responsibility.

## Dependencies for Uptime Kuma Hosting

* Official `louislam/uptime-kuma:2` Docker image
* Persistent Railway volume mounted at `/app/data`

### Implementation Details

This template uses the following environment variables:

```env
PORT="3001" # Web interface port used by Uptime Kuma
RAILWAY_RUN_UID="0" # Run container as root to avoid Railway volume permission issues
```

Persistent application data is stored at:

```text
/app/data
```

After deployment:

1. Open the Uptime Kuma service in Railway.
2. Go to **Settings → Networking**.
3. Generate a public domain for port `3001`.
4. Open the generated Railway domain in your browser.
5. Create your initial administrator account.
6. Add your first monitor.
7. Configure notifications and status pages as needed.

Example domain:

```text
https://your-uptime-kuma.up.railway.app
```

Uptime Kuma supports multiple monitor types, including HTTP/HTTPS, TCP ports, DNS, ping, Docker containers, databases, and other service checks depending on the configured monitor.

## Why Deploy Uptime Kuma on Railway?

Railway is a single platform for deploying your infrastructure stack. Railway hosts your infrastructure so you do not have to manage a separate server manually, while still allowing you to scale services vertically and horizontally.

By deploying Uptime Kuma on Railway, you can run a complete monitoring service with minimal operational overhead. Host your monitoring service alongside your applications, databases, AI agents, and other infrastructure components on Railway.

## Similar templates

- [Rootprint](https://railway.com/deploy/rootprint-1) — Open-source logs and traces with full-text search on object-storage.
- [Pyroscope profiling](https://railway.com/deploy/pyroscope-profiling) — Protected continuous profiling with durable Pyroscope storage.
- [SigOnly](https://railway.com/deploy/sigonly) — Deploy SigNoz with a working demo app & config in one click

Open this page in a browser: https://railway.com/deploy/kuma
