📊 Setup Uptime Kuma — Self-Hosted Uptime Monitor

Track the uptime of your websites, APIs, and services with a beautiful self-hosted dashboard. Get notified instantly when something goes down.

⚠️ This script is provided for demo and testing purposes only. Not intended for production use.

📦 Resources & Setup Scripts

Grab the automated bash script from GitHub to follow along with the video.

Automated install script — deploy Uptime Kuma in one command.
View on GitHub

Quick Install:

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/monitoring/uptime-kuma/uptime-kuma-ubuntu.sh
chmod +x uptime-kuma-ubuntu.sh
sudo bash uptime-kuma-ubuntu.sh

Tutorial Steps

1 Download & Run the Script

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/monitoring/uptime-kuma/uptime-kuma-ubuntu.sh
chmod +x uptime-kuma-ubuntu.sh
sudo bash uptime-kuma-ubuntu.sh

2 Access the Web UI

On first visit, create your admin account:

http://<your-server-ip>:3001

3 Add Your First Monitor

Click + Add New Monitor. Choose the type (HTTP, Ping, DNS, etc.), enter the URL or host, set the check interval, and save.

4 Set Up Notifications

Go to Settings → Notifications and connect your preferred alert channel (Telegram, Email, Slack, Discord, and many more).

Ports Used

PortPurpose
3001Uptime Kuma Web UI

Overview

Uptime Kuma is a self-hosted monitoring tool that checks whether your websites, APIs, databases, and Docker containers are up and running. It sends push notifications via Telegram, Discord, Slack, email, and many other channels when something goes down. Its clean, real-time dashboard shows uptime history, response times, and SSL certificate expiry.

Why Use It

Uptime Kuma is an open-source monitoring tool that gives you real-time visibility into the health of your servers, websites, APIs, and services. Unlike commercial SaaS monitors that charge per endpoint, Uptime Kuma is self-hosted, free, and fully under your control. It supports over 90 monitor types with push notifications to Telegram, Discord, Slack, email, and dozens of other channels. For technical teams, it replaces fragmented alerting with a single pane of glass. For business stakeholders, it provides uptime dashboards and status pages that demonstrate operational reliability without licensing costs.

When You Need It

    Who Should Use It

      Real Use Cases

        Main Features

          How to Use After Installation

            Security Best Practices

              Ports and Firewall Notes

              Uptime Kuma listens on port 3001 by default. This port should never be exposed directly to the public internet. Use a reverse proxy (Nginx Proxy Manager, Caddy, or Traefik) to terminate TLS on port 443 and forward traffic internally to port 3001. Block external access to port 3001 in your firewall and only allow the reverse proxy to reach it on localhost or the Docker network. Push monitor URLs are public by design — treat those URLs as secrets.

              Backup and Maintenance

                Common Mistakes

                  Troubleshooting

                    Alternatives

                    Pingdom and UptimeRobot are established SaaS platforms with global probe networks — ideal if you prefer not to manage infrastructure. Checkly combines synthetic monitoring with Playwright browser checks. Better Stack offers incident management and on-call scheduling. For self-hosted alternatives, Gatus is a lightweight Go-based health dashboard focused on YAML configuration, while Prometheus with Blackbox Exporter integrates with existing observability stacks at the cost of a steeper learning curve.

                    When Not to Use It

                    Uptime Kuma may not fit if you need distributed monitoring from multiple geographic locations — it checks from a single host by default. Teams requiring SOC 2 or ISO 27001 certified monitoring with audit trails may need an enterprise solution. For advanced anomaly detection powered by ML, tools like Datadog offer more sophisticated analytics. Organizations with existing Prometheus/Grafana stacks may find overlap, and deployments exceeding 1000 monitors may hit SQLite limits.

                    PrismaTechWork Professional Help

                    PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.

                      Contact Us

                      Frequently Asked Questions

                      Is Uptime Kuma really free to use in production?

                      Yes. Released under the MIT license, permitting unrestricted commercial use. No per-endpoint fees, no user limits, no feature gates. Your only cost is the server infrastructure.

                      How many monitors can Uptime Kuma handle reliably?

                      On a standard 1 vCPU / 1 GB RAM VPS, it handles 200-300 monitors with 60-second intervals comfortably. Beyond 500, consider a higher-spec server or wait for PostgreSQL backend support.

                      Does Uptime Kuma support monitoring from multiple locations?

                      By default it monitors from the single host where installed. Multi-location monitoring requires deploying separate instances. This is where SaaS tools like Pingdom have an advantage with global probe networks.

                      Can I monitor internal services behind a firewall?

                      Yes — this is one of its strongest advantages over SaaS monitors. Since it runs inside your network, it can reach internal APIs, databases, and private services that external tools cannot.

                      How do I secure the Uptime Kuma dashboard?

                      Place it behind a reverse proxy with HTTPS, enable 2FA, restrict access by IP or VPN, and never expose port 3001 publicly. For additional security, use Authelia or Cloudflare Access.

                      What happens to my data if the server crashes?

                      Everything is stored in a single SQLite database inside the Docker volume. With a recent backup, you can restore on a new server in minutes. Without a backup, all data is lost — automated daily backups are essential.

                      Can I migrate from UptimeRobot or Pingdom?

                      No built-in import tool exists. You need to recreate monitors manually. Export endpoint lists from your existing provider and batch-create monitors in Uptime Kuma. API-based configuration is also possible.

                      Does Uptime Kuma work with Docker Compose and Podman?

                      Yes. Docker Compose is the recommended production deployment method. Podman is also supported as a Docker-compatible runtime. The official image works on x86_64 and ARM architectures.