All posts

monitoring

How to self-host Uptime Kuma to monitor your sites

Self-host Uptime Kuma when you want simple uptime alerts for your websites, domains, certificates, and services without handing that job to a third party.

  • monitoring
  • self-hosting
  • uptime
A self-hosted Uptime Kuma dashboard on a VPS monitors websites, domains, certificates, and services with green uptime checks.

Your site can be down for hours while you only find out because a customer tells you.

Short version: To self-host Uptime Kuma, you run the Uptime Kuma app on a server, protect it with HTTPS, then add monitors for the websites and services you care about. It checks them on a schedule and alerts you when something stops answering, returns errors like HTTP 500, or has a certificate problem. The main decision is where to run it, because a monitor that lives on the same broken server as your site may go silent at the exact moment you need it.

Why self-host Uptime Kuma instead of using an outside checker?

Uptime Kuma is a friendly status monitor. Think of it like a person who taps your website on the shoulder every minute and asks, “Are you still there?”

When the answer looks wrong, it records the problem and can send you an alert. That might mean the site does not load, the domain points to the wrong place, the certificate expired, or the app is answering with 502 Bad Gateway instead of a normal page.

Self-hosting Uptime Kuma makes sense when you want the monitor close to your own setup and under your control. You can watch public websites, private admin pages, APIs, databases, and small services that a basic external checker may not understand.

It is not magic, though. Uptime Kuma tells you that something is wrong. It does not automatically explain every cause. If your website is not loading, the usual layers are still domain, server, and app. We break those down in plain English in why your website is not loading.

Where should Uptime Kuma run?

The safest answer is: not only on the same server as the thing it monitors.

If Uptime Kuma and your website live on one server, and that server crashes, both the website and the alarm clock are gone. It is like keeping your smoke detector inside the same locked box as the matches.

That does not mean same-server monitoring is useless. It can still catch app-level problems, expired HTTPS certificates, broken redirects, ECONNREFUSED, and unexpected HTTP 500 responses. But it cannot reliably tell you when the whole server or network path has vanished.

A better pattern is to run Uptime Kuma on a small separate server, or at least in a place that fails independently from your main sites. Then it can keep watching when the main server is having a bad day.

What do you need before you install Uptime Kuma?

You need a server that is already basically healthy: reachable from the internet, updated, protected by a firewall, and using a domain name you understand.

Most people run Uptime Kuma with Docker. Docker is a way to package an app with the parts it needs, like putting the app in a labeled lunchbox instead of scattering ingredients across the kitchen. If Docker is still fuzzy, start with Docker on a server for beginners before you install monitoring on top of it.

You also want HTTPS for the Uptime Kuma dashboard. The dashboard contains your monitor names, alert targets, and sometimes internal URLs. It should not sit on the open internet with a bare, unencrypted login page. If certificates are the confusing part, see how to get free HTTPS on your server.

Finally, decide how you will be alerted. Email is simple but can be slow or filtered. Chat apps are faster but add another dependency. The best alert is the one you will actually notice without training yourself to ignore it.

What should you monitor first?

Start with the public doorways: your homepage, login page, checkout page, API health endpoint, and any client-facing status page.

For each one, you are asking a slightly different question. “Does the homepage return HTTP 200?” is not the same as “Can users log in?” A homepage can be fine while the app behind it is broken.

Then add certificate checks. An expired certificate often looks to visitors like the whole site is dangerous or broken. Uptime Kuma can warn you before “certificate has expired” becomes the first thing your users see.

Add domain checks for important names too. If DNS is wrong, people may never reach your server at all. In that case your app can be perfectly healthy, but the signpost on the road points somewhere else.

Keep the list small at first. Ten meaningful monitors are better than fifty noisy ones. Monitoring should feel like a dashboard in a car, not a wall of blinking lights in a movie spaceship.

FAQ

Can I self-host Uptime Kuma for free? Uptime Kuma itself is open-source. You still need somewhere to run it, and that server has normal hosting costs.

Can Uptime Kuma monitor more than websites? Yes. It can watch HTTP pages, ports, ping checks, DNS, certificates, and other service types.

Will Uptime Kuma fix downtime automatically? No. It alerts you and records what happened. Fixing the cause is still a separate step.

Should I put Uptime Kuma behind HTTPS? Yes. The dashboard should be encrypted and protected like any other admin tool.

The shortcut

Server Manager helps when the hard part is not “can Uptime Kuma run?” but “will I still understand this setup later?” The real benefit is that your monitoring server, domains, HTTPS, and apps stay legible instead of becoming a private puzzle you have to solve again in six months.

That matters for the exact failures Uptime Kuma is meant to catch: an expired or wrong certificate, a domain pointing at the wrong place, a service that was moved and forgotten, or one project breaking another because the server layout was unclear.

You still get the outcome you wanted from self-hosted monitoring: a small, understandable watchtower for your sites, without turning the watchtower itself into another mystery to maintain.

What does a good monitoring setup feel like?

A good Uptime Kuma setup is quiet most days and useful on the bad ones.

You know which sites are being checked. You know where the monitor lives. You know how alerts reach you. And when something fails, you are not starting from a blank page or waiting for someone else to notice.

That is the win: fewer surprises, faster answers, and a setup you can still read when future-you has forgotten the details.