Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Uptime Kuma Deployment

Uptime Kuma is a self-hosted monitoring tool that tracks the uptime and status of websites, servers, and APIs, offering real-time alerts and a customizable dashboard.

Table of contents
  1. What is Uptime Kuma?
  2. Steps to follow
  3. Install Docker, and Docker-Compose
    1. Install Docker Engine
    2. Install Docker-Compose (*Optional)
  4. Deploy Uptime Kuma
    1. Method 01: with Docker
    2. Method 02: with Docker-Compose
    3. Login to the web UI
  5. Screenshots

What is Uptime Kuma?

Uptime Kuma is a modern, lightweight, and self-hosted monitoring system designed to track the uptime and performance of websites, servers, and APIs. It supports various protocols such as HTTP(S), TCP, and ICMP (ping), and provides instant notifications through popular channels like email, Slack, Discord, and more.

With its intuitive, customizable dashboard and user-friendly interface, Uptime Kuma enables users to create detailed monitoring configurations and view historical data through graphs and logs. It is a free and open-source solution, ideal for individuals or organizations that want reliable uptime monitoring without relying on third-party services.

Website Documentation GitHub Demo Docker hub

uptimekuma


Steps to follow

  1. Install Docker, and Docker-Compose
  2. Deploy Uptime Kuma
    1. with Docker
    2. with Docker-Compose

Install Docker, and Docker-Compose

Install Docker Engine

Note

Find the official guide here. Follow this official guide for install Docker on other Linux distribution systems.

1. Uninstall old versions

sudo apt-get remove docker docker-engine docker.io containerd runc

2. Set up the repository

Update the apt package index and install packages to allow apt to use a repository over HTTPS:

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release

Add Docker’s official GPG key:

sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Use the following command to set up the repository:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3. Install Docker Engine

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Verify that the Docker Engine is installed correctly.

sudo systemctl is-active docker

Install Docker-Compose (*Optional)

In this case (29/12/2024), it is v2.31.0; Refer to the GitHub Releases to identify the latest version.

Download and install Compose standalone latest version

curl -SL https://github.com/docker/compose/releases/download/v2.31.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Verify that the Docker-Compose is installed correctly.

sudo docker-compose --version

Tip:

If the command docker-compose fails after installation, check your path. You can also create a symbolic link to /usr/bin or any other directory in your path. For example:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose


Deploy Uptime Kuma

Method 01: with Docker

docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
# check the container status
docker ps

Method 02: with Docker-Compose

Create and add configurations to docker-compose.yml file.

nano docker-compose.yml
volumes:
  uptimekuma-data:
    driver: local

services:
  uptimekuma:
    image: louislam/uptime-kuma:1
    container_name: uptimekuma
    ports:
      - "3001:3001"
    volumes:
      - uptimekuma-data:/app/data
    #  - /var/run/docker.sock:/var/run/docker.sock
    restart: unless-stopped
docker-compose up -d
# check the container status
docker-compose ps

Login to the web UI

Now you can log in to the web UI. Simply use your browser to connect to your server by using the IP address or an FQDN and connect on port 3001.


Screenshots


uptimekuma

uptimekuma

uptimekuma

uptimekuma