Deployment guide

Monitoring your VPS with Uptime Kuma

Deploy on a VPS Cloud →

Security & Monitoring6 min read

Monitoring your VPS with Uptime Kuma

Knowing that a service is down before your customers report it to you changes everything. Uptime Kuma is an open source availability monitoring tool that you host yourself on a VPS, with no subscription and no limit on checks. Here's how to set it up properly.

Why self-host Uptime Kuma on a VPS

SaaS monitoring services often bill by the number of monitors or the check frequency, and cap the interval at 1 or 5 minutes on free plans. By deploying Uptime Kuma on your own VPS, you monitor an unlimited number of sites, APIs, TCP ports, Docker containers or DNS servers, with intervals as short as 20 seconds. Hosting the probe on a VPS separate from your production servers is an advantage: if your application server goes down, the monitoring VPS stays up and triggers the alert. Uptime Kuma also offers a public status page that you can expose to your customers, and more than 90 notification channels (Telegram, email, Discord, webhook). Everything stays on your infrastructure, without sending your internal URLs to a third party.

The concrete benefits of this template

  • Unlimited monitors: HTTP(s), TCP, ping, DNS, Docker containers, SSL certificates and page keywords.
  • Multi-channel alerts (Telegram, email, Discord, Slack, webhook) with more than 90 integrations.
  • Customizable public status page to share with your customers or your team.
  • SSL certificate expiration monitoring so you're never caught off guard again.
  • Uptime history and statistics kept locally, with no paid retention.
  • Checks as frequent as every 20 seconds, impossible on most free plans.

Requirements to host it

Uptime Kuma is very frugal: a 1 vCPU VPS with 512 MB to 1 GB of RAM is more than enough to monitor several dozen monitors. The embedded SQLite database takes up little space; count on 2 to 5 GB of disk depending on the history retained. You need Docker installed, a domain or subdomain (status.mydomain.com) pointing to the VPS, and ports 80/443 open for the reverse proxy and SSL. For reliable monitoring, host Uptime Kuma preferably on a VPS separate from your production servers.

Deploy Uptime Kuma with Docker and SSL

01

Create the volume and start the container

On the VPS, create a persistent volume then start the container: docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1. The interface is accessible on port 3001.

02

Configure the administrator account

Open http://IP_DU_VPS:3001 and create the admin account on first login. Choose a strong password: this interface will have access to all your monitored URLs.

03

Put a reverse proxy and SSL in front

Configure Nginx or Caddy to expose status.mydomain.com to localhost:3001. With Caddy, two lines are enough to get an automatic Let's Encrypt certificate: status.mydomain.com { reverse_proxy localhost:3001 }.

04

Add your first monitors

Create HTTP(s) monitors for your sites, a TCP monitor for your database, an SSL check to monitor certificate expiration, and a keyword to detect error pages served with HTTP 200.

05

Wire up notifications and the status page

In Settings > Notifications, add Telegram or email and test the delivery. Then enable a public status page grouping your customer services, with a dedicated domain name if needed.

To avoid false alerts during a minor network incident, configure the Retries field (for example 3 consecutive failures before alerting) and a suitable Heartbeat Interval. Combine it with a group notification: Uptime Kuma can send an aggregated message rather than one alert per monitor, which avoids flooding your Telegram channel during a global network outage that takes down ten services at once.

The official documentation

For advanced configuration and options specific to the tool, refer to the official Uptime Kuma documentation. This guide covers deployment on a VPS; the vendor's documentation remains the reference for fine-tuning, major updates and specific use cases.

Host your monitoring probe

Deploy Uptime Kuma on a ServOrbit Cloud VPS dedicated to monitoring: resources isolated from your production, high availability, and HTTP/HTTPS ports ready to use.

Need help?

Browse our help center and FAQ, or write to our team — support in French, English and Arabic.