Skip to main content

Self-hosted monitoring tool

Learn how to easily set up Uptime Kuma, a free, self-hosted website monitoring tool, using a simple Docker command. Keep track of your sites' uptime, ensure data persistence, and configure notifications.

· 3 min read
View raw
Christophe
Markdown, WSL and Docker lover ~ Insatiable curious.
Cet article existe aussi en français — lire la version française.

Changelog

Latest
Demo URL updated (old port-27000 URL is down); Uptime Kuma v2.0 released Oct 2025 — use louislam/uptime-kuma:2 for the new version (MariaDB support, Vue 3, rootless Docker)

Self-hosted monitoring tool

⚡
TL;DR

This article shows how to self-host Uptime Kuma, a free website-monitoring dashboard, with a single docker run command (mounting a volume to persist monitored sites across restarts), then configure per-site checks and notifications (e.g. via Mattermost or email) when a site goes down.

Imagine you're a web developer or you work in a web agency and you'd like to keep an eye on the sites you've developed for your clients, free of charge. Are these sites online now, or are they down?

This work is carried out by site monitoring platforms. Could you install one on your computer? Of course!

There are tons of self-hosted monitoring tools; one of them is Uptime Kuma. You can play with the demo website here: https://demo.kuma.pet/. Just create an admin account (for free) and you're ready to add your first websites.

As read in the official documentation, you can easily start it using the command below.

Your values for this page
default
default
Applies to the commands on this pageSaved on this device only
>user@machine: ~/yourproject
http://localhost:3001

Dashboard

Remember to add a volume

The -v ${PWD}:/app/data flag (a volume) is important if you want to keep track of the sites you'll add to the dashboard (i.e. if you restart the tool). If you wish, only, play once with the interface first, you can omit it so nothing will be written on the disk.

In the setting page, site by site, you can define a lot of actions like what the monitoring tool should do when the site is down. For instance, send you a notification on Mattermost or an email or ...

Notification through Mattermost

There are so many settings to configure

On top of configuration items site by site, you'll also find in the Profile -> Settings page, a large number of global settings like the choice of the language's interface (French is available).

Uptime Kuma watches your sites from the outside. For what happens on your own machine, Get health information from your running containers does the same job for your containers. And once you self-host a few such tools, Heimdall is a nice way to gather them on a single homepage.


Was this article helpful?
Did you try the steps in this article?