Uptime Kuma - Getting Started Guide

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 on the Server Details page in your client panel. Open your browser and go to:

http://your.server.ip

On first access, Uptime Kuma will display a registration form. Choose a username and password, then click Create.

Important: The first person to access the web interface creates the admin account. Complete this step right after your server is provisioned.

If you placed the server behind a VyOS router on a private network, either configure port forwarding (ports 80 and 443) to access Uptime Kuma from the internet, or connect over a VPN and reach it on the server's private IP.


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, connect via VNC console in your client panel 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.x
Node.js22.x LTS
PM26.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
Forgot admin password SSH in and reset: cd /opt/uptime-kuma && npm run reset-password
Blocked by Fail2Ban Use VNC console in your client panel to unban your IP
Forgot root password Use VNC console in your client panel to reset it


Was this article helpful?

mood_bad Dislike 0
mood Like 0
visibility Views: 47