Self-Host Uptime Monitoring with Uptime Kuma on Gozunga Cloud
Deploy Uptime Kuma through Coolify on Gozunga Cloud for a fully self-hosted uptime monitoring solution with status pages and multi-channel alerts
Uptime Kuma is a gorgeous, self-hosted monitoring tool that gives you real-time status on all your services — without the monthly fees of Pingdom or UptimeRobot. Deploy it in minutes through Coolify on your Gozunga Cloud instance.
- Overview
- Coolify Project Setup - Deploy Uptime Kuma as a Docker container through Coolify.
- Adding Your First Monitors - Monitor HTTP endpoints, TCP ports, DNS, and more.
- Setting Up Notification Channels - Get alerted via email, Discord, Telegram, and others.
- Creating a Status Page - Give your users a public-facing status page.
- Next Steps and More Information
BEFORE YOU CONTINUE
Before proceeding, make sure you have a Coolify server set up. Check out our related guide on creating a Coolify server with Gozunga Cloud. View Related Article
1. Overview
Uptime Kuma is a free, open-source monitoring tool with a clean, modern UI. It supports a wide range of monitor types — HTTP/HTTPS, TCP, DNS, Ping, Docker containers, and more — and can push alerts to over 90 notification channels including email, Discord, Telegram, Slack, and PagerDuty.
If you're currently paying for UptimeRobot, Pingdom, or Better Uptime, this is a worthy self-hosted replacement that runs on infrastructure you already own. Since we're deploying it through Coolify, no additional security group configuration is required — Coolify's reverse proxy handles the SSL and routing.
2. Coolify Project Setup
Coolify includes Uptime Kuma as a built-in one-click service template — no manual image configuration required.
- Log in to your Coolify instance and navigate to your Project
- Click New Resource
- In the search field at the top, type uptime — you'll see the available service templates appear under Services
- Select Uptime Kuma (the standalone option is perfect to start; Uptime Kuma With MariaDB or MySQL are available if you prefer an external database)
- In the Domains field, enter your public URL — e.g. https://status.yourdomain.com
- Click Deploy — Coolify will pull the image, configure the reverse proxy, and issue a Let's Encrypt certificate for your domain automatically
- Once deployment is complete, visit your configured URL to begin setup
💡 Pro Tip: The built-in service template handles persistent volume mapping automatically so your monitoring data survives container restarts and upgrades. No extra configuration needed.
Initial Account Creation
- On first visit, Uptime Kuma will prompt you to create an admin account
- Choose a strong username and password — there's no "forgot password" flow by default, so write it down
- You'll land on the main dashboard, which is empty until you add your first monitor
3. Adding Your First Monitors
Uptime Kuma supports multiple monitor types. Here's how to add the most common ones:
HTTP/HTTPS Monitor
This is the most common type — it periodically fetches a URL and alerts you if it returns an error or times out.
- Click Add New Monitor
- Set Monitor Type to HTTP(s)
- Enter a friendly name (e.g. My Website) and the URL (e.g. https://yourdomain.com)
- Set the Heartbeat Interval — 60 seconds is a good default; 30 seconds for critical services
- Optionally configure Expected Status Code (default: 200) and Keyword matching for content checks
- Click Save
TCP Port Monitor
Useful for monitoring non-HTTP services like databases, mail servers, or game servers.
- Set Monitor Type to TCP Port
- Enter the hostname and port (e.g. db.yourdomain.com, port 5432 for PostgreSQL)
- Set a heartbeat interval and click Save
DNS Monitor
Verifies that a DNS record resolves to the expected value — handy for detecting DNS hijacking or misconfiguration.
- Set Monitor Type to DNS
- Enter the hostname to resolve and the expected IP/value
- Choose the record type (A, AAAA, CNAME, MX, etc.)
Ping Monitor
A simple ICMP ping check — useful for confirming a server is reachable at the network level.
- Set Monitor Type to Ping
- Enter the hostname or IP address
4. Setting Up Notification Channels
Monitors without alerts are just dashboards. Let's wire up notifications so you hear about outages the moment they happen.
- Navigate to Settings → Notifications
- Click Setup Notification and choose your preferred channel
Email (SMTP)
Notification Type: Email (SMTP)
From: [email protected]
To: [email protected]
SMTP Host: your-smtp-server.com
SMTP Port: 587
Username: your-smtp-user
Password: your-smtp-password
💡 Pro Tip: If you don't have a transactional email setup yet, services like Resend or Brevo offer generous free tiers with SMTP support.
Discord
- Create a webhook in your Discord server: Server Settings → Integrations → Webhooks → New Webhook
- Copy the webhook URL
- In Uptime Kuma, select Notification Type: Discord and paste the webhook URL
Telegram
- Create a Telegram bot via @BotFather — send
/newbotand follow the prompts to get an API token - Start a conversation with your bot, then retrieve your chat ID
- In Uptime Kuma, select Notification Type: Telegram, enter your Bot Token and Chat ID
Once a notification channel is saved, click Test to verify delivery before attaching it to monitors.
- To attach notifications to a monitor: open the monitor, scroll to Notifications, and toggle on your configured channels
5. Creating a Status Page
Uptime Kuma includes a built-in public status page — a simple, clean page you can share with your users to communicate service status.
- From the main menu, navigate to Status Pages
- Click New Status Page and give it a name (e.g. Gozunga Services)
- Choose a slug for the URL (e.g. status → accessible at https://status.yourdomain.com)
- From the status page editor, drag and drop your monitors into groups (e.g. Core Services, APIs, Databases)
- Set a Domain if you want it served on a custom subdomain
- Toggle Make Public and click Save
Your users can now visit your status page to see live service health without needing to log in.
6. Next Steps and More Information
After setting up Uptime Kuma, you can:
- Monitor unlimited services across HTTP, TCP, DNS, and more
- Build public-facing status pages for your users and customers
- Integrate with 90+ notification channels including Slack, PagerDuty, and webhooks
- Set up maintenance windows to suppress alerts during planned downtime
- View historical uptime percentages and response time charts per monitor
For more information about Uptime Kuma features and capabilities, visit the official Uptime Kuma documentation.
Ready to deploy? Get $100 in free credits and start hosting your applications on Gozunga Cloud today!
