Uptime Kuma

Uptime Kuma is a self hosted website monitoring tool. It utilizes docker on Debian 12. You can easily manage docker via Portainer, which is already installed. Debian 12 also has security features installed to protect your system, which includes UFW Host Firewall , OSSEC HIDS , Crowdsec IPS , Auditd , and scheduled Auto updates.

Software Included

Package Version License
Uptime Kuma 1.23.13 MIT
Docker 26.1.4 Apache License 2.0
Portainer 2.19.5 Zlib

Creating an App using the Control Panel

Click the Deploy to DigitalOcean button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account.

Deploy to DO

Creating an App using the API

In addition to creating a Droplet from the Uptime Kuma 1-Click App using the control panel, you can also use the DigitalOcean API. As an example, to create a 4GB Uptime Kuma Droplet in the SFO2 region, you can use the following curl command. You need to either save your API access token) to an environment variable or substitute it in the command below.

curl -X POST -H 'Content-Type: application/json' \
         -H 'Authorization: Bearer '$TOKEN'' -d \
        '{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image": "decyphertekio-uptimekuma"}' \
        "https://api.digitalocean.com/v2/droplets"

Getting Started After Deploying Uptime Kuma

Note:

  • Please be aware that it takes five to ten minutes for the system to be up and running.

Access the Server:

  • Click into droplet > select access > Launch Droplet console ( This will also reattach ssh keys to that console )
  • If you want to ssh in from you computer then :
  • Linux + MAC - add .pem key to ~/.ssh/id_rsa > change permisisons > chmod 400 id_rsa
  • ssh root@ip-of-server
  • If using putty or mobaxterm make sure to convert .pem using puttygen.

Uptime Kuma:

  • How to access Uptime-Kuma > https://ip-of-server
  • Follow instrucitons to create a new account.
  • Add a website to monitor.
  • Rebooting - Please stop docker images first. > cd /root/.docker > docker compose down > reboot > docker compose up -d .

Portainer - Manage Docker:

  • How to access Portainer to manage your containers > https://ip-of-server:9443
  • Follow the instructions to create a new admin account.
  • Caution - Portainer can timeout if you dont create an account fast enough
  • If this happens you need to restart the container, ssh into the server, then run. > docker restart portainer
  • Once logged into portainer, click get started and select local. You can manage docker from here.