JK Docs
Tools

Uptime Kuma: Server Monitoring with Telegram Alerts

Last updated: 4/20/2026

What is Uptime Kuma?

A self-hosted monitoring tool that checks if websites, APIs, and databases are online. Sends instant notifications when something goes down.

Installation via Coolify

1. Prepare Subdomain in Cloudflare

Type: A | Name: kuma | Value: server-ip | Proxy: OFF (DNS Only)

2. Deploy in Coolify

  1. Project → New Resource → Service (One-click)
  2. Search: Uptime Kuma (select SQLite version — not MariaDB/MySQL)
  3. Set Domain: https://kuma.yourdomain.com:3001

The port :3001 must be included — Uptime Kuma runs internally on port 3001.

  1. Deploy

3. First Login

Visit https://kuma.yourdomain.com → choose SQLite → create admin credentials.

Setting Up Telegram Notifications

Create a Telegram Bot

  1. In Telegram, search @BotFather
  2. Send /newbot → set a name and username
  3. Copy the Bot Token (e.g., 123456:ABC-DEF...)

Get Your Chat ID

  1. Start chat with @userinfobot
  2. It replies with your numeric Chat ID

Configure in Uptime Kuma

  1. Edit any monitor → Notifications section
  2. Setup Notification → Type: Telegram
  3. Paste Bot Token and Chat ID
  4. Click Test — verify message received
  5. Save

Custom Message Template

{% if status == '0' %} 🚨 <b>CRITICAL ALERT: SERVICE DOWN</b> 🚨 {% elsif status == '1' %} ✅ <b>SYSTEM RECOVERY: SERVICE UP</b> ✅ {% else %} ⚠️ <b>SYSTEM NOTIFICATION</b> ⚠️ {% endif %} 📌 <b>Service Name:</b> <code>{{ name }}</code> 🔗 <b>Target URL:</b> <a href="{{ hostnameOrURL }}">{{ hostnameOrURL }}</a> 📝 <b>Status Detail:</b> <pre>{{ msg }}</pre>

Do NOT use HTML comments (<!-- -->) — Telegram API rejects them.

Monitoring Checklist

For each important service, add a monitor:

  • Main website (https://yourdomain.com)
  • API endpoints
  • Admin panels
  • Database connection (TCP port ping)
JK Docs
New Guide

Categories

DevOpsBackendFrontendDatabaseToolsSecurityDesignSystem Admin
Admin Panel