Table of Contents

Uptime Kuma - Getting Started Guide

Uptime Kuma is a self-hosted monitoring tool that lets you track the uptime of your websites, APIs, DNS and other services with a clean dashboard and instant notifications. This server comes with Uptime Kuma, Nginx and PM2 pre-installed – just open the web interface and create your admin account.


Step 1 – Verify Uptime Kuma Works

Your server’s IP address and root password are shown in the Server Information section on the Overview tab of your server in the client portal. The application settings you entered when ordering, passwords included, are shown in the Uptime Kuma Credentials card on the same tab. Open your browser and go to:

https://your.server.ip

HTTPS without a domain. Since January 2026 Let’s Encrypt issues certificates for IP addresses (official announcement), so your server gets a real, browser-trusted certificate on first boot – before you connect any domain. Certificates of this kind are short-lived (about six days) and renew automatically. If your server is not reachable from the internet on port 80 (for example, it sits behind a router), the certificate cannot be issued – in that case use http:// instead.

Uptime Kuma is set up automatically when the server is created: the administrator account is created with the password you entered during the order. Setup takes under a minute, and the client portal shows the server as ready when it finishes. Until then the page answers 403 Forbidden – Uptime Kuma stays closed to visitors until your administrator account exists.

Uptime Kuma login:

  • Username: admin
  • Password: the Uptime Kuma Admin Password you entered during the order

After signing in you land on the dashboard. The login is also shown when you connect to the server over SSH.

If you placed the server behind a VyOS router on a private network, the server has only a private address, so it does not get the IP certificate. Reach Uptime Kuma on the private address through a VPN on the router (WireGuard or OpenVPN, on the router’s Configuration tab), or forward ports 80 and 443 to the server on the router’s Configuration tab (Port forwarding). For a trusted HTTPS certificate, point a domain to the router’s public address (Step 3).

Firewall. If you turn on the Firewall for this server in the client portal, allow incoming TCP port 80 in its rules, along with 443 (HTTPS). Certificates renew over port 80 – the IP certificate every few days – and without that rule the certificate expires and the browser starts showing a warning.


Step 2 – Add Your First Monitor

After logging in, click Add New Monitor on the dashboard:

  • Monitor Type – HTTP(s), TCP, Ping, DNS, and more
  • Friendly Name – a descriptive name for the monitor
  • URL / Hostname – the target to monitor
  • Heartbeat Interval – how often to check (default: 60 seconds)

Click Save and monitoring starts immediately. Add notifications (email, Telegram, Slack, Discord and many more) under Settings > Notifications.


Step 3 – Configure Domain and SSL (Optional)

To access Uptime Kuma via a domain with HTTPS, create a DNS A record pointing your domain to the server IP. Then SSH in and run:

ssh root@your.server.ip
sed -i 's/server_name _;/server_name your-domain.com;/' /etc/nginx/sites-available/uptime-kuma
nginx -t && systemctl reload nginx
apt install -y certbot python3-certbot-nginx
certbot --nginx -d your-domain.com

Certbot will configure SSL and set up auto-renewal. Your dashboard will be available at https://your-domain.com.


Post-Installation

Fail2Ban – Brute-Force Protection

Your server comes with Fail2Ban pre-configured to protect SSH from brute-force attacks.

Rule Max Attempts Ban Duration
SSH5 failed logins10 minutes

Useful commands:

# Check banned IPs
fail2ban-client status sshd

# Unban an IP
fail2ban-client set sshd unbanip 1.2.3.4

If you accidentally lock yourself out, open the Console on your server’s Overview tab in the client portal and unban your IP.

Service Management

Uptime Kuma runs under PM2, which keeps it running and auto-restarts after crashes or reboots.

# Check status
pm2 list

# View logs
pm2 logs uptime-kuma

# Restart
pm2 restart uptime-kuma

# Nginx reverse proxy
systemctl status nginx
systemctl reload nginx

Backups

All data (monitors, notifications, status history) is stored in SQLite. You can export/import from the web interface (Settings > Backup) or back up via SSH:

cp -r /opt/uptime-kuma/data /root/uptime-kuma-backup-$(date +%F)

Updates

# Update Uptime Kuma
cd /opt/uptime-kuma
pm2 stop uptime-kuma
git fetch --all
git checkout $(git describe --tags --abbrev=0 origin/master)
npm install --production
npm run download-dist
pm2 restart uptime-kuma
pm2 save

# Update OS packages
apt update && apt upgrade -y

Software Included

Component Version
Ubuntu24.04 LTS
Uptime Kuma2.5.7 (SQLite database)
Node.js22.x LTS
PM27.x
Nginx1.24
Fail2Ban1.0.2

Troubleshooting

Problem Solution
Web interface not loading Check status: pm2 list. Restart if needed: pm2 restart uptime-kuma
502 Bad Gateway Uptime Kuma may not be running on port 3001. Check logs: pm2 logs uptime-kuma
Notifications not sending Go to Settings > Notifications and use the Test button to verify your notification channel
High memory usage Increase heartbeat interval or clear old status history under Settings > General
403 Forbidden right after the server is created Uptime Kuma opens to visitors only after your administrator account is created – wait a minute and reload. If the Overview tab of your server shows a warning that the application setup did not finish, Uptime Kuma rejected the password from the order as too weak: check /opt/setup/setup.log over SSH and reinstall the server with the Rebuild button on its Overview tab in the client portal with a stronger password
Forgot admin password SSH in and reset: cd /opt/uptime-kuma && npm run reset-password
Blocked by Fail2Ban Use the Console on your server’s Overview tab in the client portal to unban your IP
Forgot root password Use the Console on your server’s Overview tab in the client portal to reset it