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
- Project → New Resource → Service (One-click)
- Search: Uptime Kuma (select SQLite version — not MariaDB/MySQL)
- Set Domain:
https://kuma.yourdomain.com:3001
The port
:3001must be included — Uptime Kuma runs internally on port 3001.
- Deploy
3. First Login
Visit https://kuma.yourdomain.com → choose SQLite → create admin credentials.
Setting Up Telegram Notifications
Create a Telegram Bot
- In Telegram, search @BotFather
- Send
/newbot→ set a name and username - Copy the Bot Token (e.g.,
123456:ABC-DEF...)
Get Your Chat ID
- Start chat with @userinfobot
- It replies with your numeric Chat ID
Configure in Uptime Kuma
- Edit any monitor → Notifications section
- Setup Notification → Type: Telegram
- Paste Bot Token and Chat ID
- Click Test — verify message received
- 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)