Prerequisites
Before starting, ensure you have:
Server Requirements
- • RamNode VPS (1GB+ RAM)
- • Ubuntu 22.04 or later
- • Root or sudo access
- • Domain name (optional)
What You'll Monitor
- • HTTP(s) websites
- • TCP ports & services
- • DNS queries
- • Docker containers
Install Docker
Install Docker if you haven't already:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable docker
sudo systemctl start docker✅ Docker is now installed and running
Deploy Uptime Kuma
Create a directory and deploy Uptime Kuma:
mkdir -p ~/uptime-kuma
cd ~/uptime-kumadocker run -d \
--name uptime-kuma \
--restart=always \
-p 3001:3001 \
-v uptime-kuma:/app/data \
louislam/uptime-kuma:1💡 Tip: Access your dashboard at http://YOUR_SERVER_IP:3001
Docker Compose Setup (Recommended)
For easier management, create a docker-compose.yml file:
version: '3.8'
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: always
ports:
- "3001:3001"
volumes:
- ./uptime-kuma-data:/app/data
environment:
- PUID=1000
- PGID=1000docker-compose up -ddocker-compose logs -fSetup Nginx Reverse Proxy
Access Uptime Kuma via a custom domain with Nginx:
sudo apt update
sudo apt install nginx certbot python3-certbot-nginx -ysudo nano /etc/nginx/sites-available/uptime-kumaserver {
listen 80;
server_name status.yourdomain.com;
location / {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}sudo ln -s /etc/nginx/sites-available/uptime-kuma /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginxGet SSL Certificate
Secure your installation with Let's Encrypt SSL:
sudo certbot --nginx -d status.yourdomain.com🔒 Your Uptime Kuma dashboard is now accessible via HTTPS!
Add Your First Monitor
Set up your first monitoring target:
Steps to Add a Monitor:
- 1️⃣ Log in to your Uptime Kuma dashboard
- 2️⃣ Click "Add New Monitor"
- 3️⃣ Choose monitor type (HTTP(s), TCP, Ping, etc.)
- 4️⃣ Enter your service URL or IP address
- 5️⃣ Configure check interval (default: 60 seconds)
- 6️⃣ Click "Save"
💡 Monitor Types: HTTP(s), TCP Port, Ping, DNS, Docker Container, Steam Game Server, and more!
Setup Notifications
Configure alerts for downtime events:
Setting Up Notifications:
- 1️⃣ Go to Settings → Notifications
- 2️⃣ Click "Setup Notification"
- 3️⃣ Select provider (Telegram, Discord, Slack, Email, etc.)
- 4️⃣ Enter required credentials
- 5️⃣ Test the notification
- 6️⃣ Save and assign to monitors
Popular Providers
Telegram, Discord, Slack
Email Support
SMTP, SendGrid, Mailgun
90+ Services
Extensive integrations
Create Status Page
Share service status with your users:
Creating a Status Page:
- 1️⃣ Click "Status Pages" in the sidebar
- 2️⃣ Click "New Status Page"
- 3️⃣ Choose a slug (URL path)
- 4️⃣ Add monitors to display
- 5️⃣ Customize appearance and theme
- 6️⃣ Set visibility (Public/Private)
- 7️⃣ Save and share the URL
🌐 Your status page is now live! Share it with your team and customers.
Backup and Restore
Backup your monitoring data regularly:
docker stop uptime-kuma
docker cp uptime-kuma:/app/data ./uptime-kuma-backup-$(date +%Y%m%d)
docker start uptime-kuma💡 Alternative: Use the built-in backup feature in Settings → Backup
Restore from Backup:
docker stop uptime-kuma
docker cp ./uptime-kuma-backup-YYYYMMDD uptime-kuma:/app/data
docker start uptime-kumaUpdating Uptime Kuma
Keep your installation up to date:
docker pull louislam/uptime-kuma:1
docker stop uptime-kuma
docker rm uptime-kuma
docker run -d \
--name uptime-kuma \
--restart=always \
-p 3001:3001 \
-v uptime-kuma:/app/data \
louislam/uptime-kuma:1Update with Docker Compose:
docker-compose pull
docker-compose up -d⚠️ Note: Always backup before updating!
Troubleshooting
Container Won't Start
Check container logs for errors:
docker logs uptime-kumaCan't Access Dashboard
Verify container and port status:
docker ps | grep uptime-kuma
sudo netstat -tlnp | grep 3001Notifications Not Working
- • Test notification settings individually
- • Check firewall rules allow outbound connections
- • Verify API tokens and credentials are correct
- • Review container logs for error messages
💬 Need Help? Our support team is available 24/7 to assist with deployment issues.
Best Practices
- ✓Use SSL/TLS (HTTPS) for production deployments
- ✓Enable two-factor authentication for admin accounts
- ✓Set appropriate check intervals to avoid overwhelming services
- ✓Configure multiple notification channels for redundancy
- ✓Regularly backup your monitoring data
- ✓Monitor the monitor - set up external checks for Uptime Kuma itself
