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.