Uptime Kuma is a self-hosted monitoring tool that can check the availability and performance of various services such as websites, servers, docker containers, etc. It can send notifications to the user via different channels when a service goes down or has a slow response time. Uptime Kuma can also generate status pages and badges to display the status of the monitored services to the public or to a specific audience.
Uptime Kuma works by creating monitors for different types of services and setting the interval, timeout, keyword, and notification settings for each monitor. Uptime Kuma then sends requests to the service at the specified interval and measures the response time and status code. If the service does not respond within the timeout or returns an error code or does not contain the keyword, Uptime Kuma will mark the service as down and send a notification to the user. Uptime Kuma also records the uptime and response time history for each monitor and displays them on charts and tables. Uptime Kuma can also group monitors by tags and assign different notification settings to each group. Uptime Kuma supports multiple languages and has a fast and reactive user interface.
Installing it on UNRAID can be done using two methods: Community Applications and Docker-Compose. I will be using the CA method since the docker version of Uptime Kuma is officially supported.
- Go to the Apps tab on your Unraid web interface and search for Uptime Kuma.
- Click on the Uptime Kuma icon and then click on Add.
- You can customize the settings such as port, volume, network type, etc. or leave them as default.
- Click on Apply and wait for the installation to finish.
- You can access Uptime Kuma by going to http://your-unraid-ip:3001 or http://your-unraid-hostname:3001.
To monitor your other docker services using Uptime Kuma, you need to do the following:
- You can use the Ping monitor type to check if your devices are online and reachable by their IP address or hostname. This is the simplest and most universal method that works for any device that supports ICMP protocol.
- You can use the HTTP or HTTP Keyword monitor type to check if your devices have a web interface and if they return a valid response or contain a specific keyword. This is useful for devices that have a web-based configuration or management page, such as routers, NAS, cameras, etc.
- You can use the TCP monitor type to check if your devices have a specific port open and listening for connections. This is useful for devices that offer a service or an API on a certain port, such as SSH, FTP, MQTT, etc.
- You can use the DNS Record monitor type to check if your devices have a DNS record associated with their IP address or hostname. This is useful for devices that use dynamic DNS services or have custom domain names.
- You can use the Docker Container monitor type to check if your devices run docker containers and if they are healthy and running. This is useful for devices that use docker as a platform for running applications or services, such as NAS or Raspberry Pi.
Uptime Kuma offers a lot of alert and notification options for you to choose from. You can set up different notification channels for each monitor or monitor group and customize the message template and the alert frequency. Here are some of the alert and notification options available in Uptime Kuma:
- Telegram: You can send alerts to a Telegram bot or a Telegram group using the Telegram API token and chat ID.
- Webhook: You can send alerts to a custom webhook URL using HTTP POST request with JSON or XML payload. This is useful for developers who know how to handle webhooks and integrate with other services.
- SMTP: You can send alerts to an email address using SMTP protocol with your own email server or a third-party service like Gmail, Outlook, etc. You can configure the SMTP host, port, username, password, encryption, sender, and receiver.
- Discord: You can send alerts to a Discord channel using a Discord webhook URL. You can also use Discord mentions to notify specific users or roles.