Use Docker, Uptime Kuma, and Traefik To Monitor Your Website

Within this article, I want to show how you can set up website monitoring from your local PC or a server with Docker/Docker Swarm. Instead of using complicated monitoring stacks like prometheus, node-exporter, or graphana I want to show a lightweight alternative called Uptime Kuma which is written in NodeJs and Vue.

The project is open source and can be found on GitHub: https://github.com/louislam/uptime-kuma

Important properties that convinced me to use this alternative are:

  • The UI is beautiful!
  • Super easy setup with Docker/Docker Swarm
  • Unbelievable easy configuration
  • Notifications via Discord, Slack, Email (SMTP), and more. Click here for the full list.

Prerequisite

To run Uptime Kuma on a server or on your local machine you have to prepare your environment. I personally love to run Traefik as a reverse proxy that runs in my Docker Swarm and is deployed with Docker Compose. With Traefik you can create a single Compose file and deploy any service and it will automatically issue Let’s Encrypt certificates for your domain.

I will shortly explain these two prerequisites and then will show how to use them to deploy Uptime Kuma.

Docker

Docker is a widely used platform for developing, shipping, and running all kinds of applications. It enables you to separate infrastructure from your applications to quickly deliver software from one machine to another.

Read More