How to Install and Configure Uptime Kuma with Docker Compose for Real-Time Service Monitoring
If you run websites, APIs, or critical online services, uptime is everything. Uptime Kuma is a lightweight, self-hosted monitoring solution with a clean web interface that helps you stay ahead of outages. In just a few steps, you can deploy it in Docker and start tracking your infrastructure’s health.
🚀 What is Uptime Kuma?
Uptime Kuma is like having your own status dashboard — it continuously checks your websites, servers, databases, and other endpoints, alerting you instantly if something goes down.
Key features include:
- Multiple check types: HTTP(s), Ping, TCP, DNS, and more.
- Real-time graphs and statistics.
- Customizable notifications (Telegram, Slack, Email, Discord, etc.).
- Easy deployment via Docker.
This makes it a perfect tool for system administrators, DevOps engineers, and business owners who want 24/7 peace of mind.
🛠 Prerequisites
Before you begin, ensure:
- Docker and Docker Compose are installed on your server.
- You have SSH access to your machine.
- Ports 3001, 80, and 443 (if using HTTPS) are open.
Install Docker and Docker Compose if needed:
sudo apt update && sudo apt upgrade -y
sudo apt install -y docker.io docker-compose
sudo systemctl enable --now docker
📂 Step 1 – Create a Working Directory
Organize your deployment files in one place:
sudo mkdir -p /opt/uptime-kuma && cd /opt/uptime-kuma
📝 Step 2 – Create the docker-compose.yml File
Open the file in your editor:
sudo nano docker-compose.yml
Paste the following configuration:
version: '3.8'
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- uptime-kuma-data:/app/data
volumes:
uptime-kuma-data:
▶ Step 3 – Start the Container
Run Uptime Kuma in the background:
docker-compose up -d
Verify it’s running:
docker ps
Access the web interface at:
http://<server-ip>:3001
Replace <server-ip> with your actual server address.
⚙ Step 4 – Initial Setup
-
Open the Uptime Kuma web interface.
-
Create your admin account.
-
Add your first monitor:
- Select a check type (HTTP, Ping, TCP, etc.).
- Enter the target URL or IP.
- Set the check interval.
- Configure notification channels (Telegram, Slack, Email, etc.).
🔧 Step 5 – Managing Your Uptime Kuma Instance
- Stop the service:
docker-compose down
- Restart the container:
docker-compose restart uptime-kuma
- View logs:
docker-compose logs -f uptime-kuma
💾 Step 6 – Backup and Restore
Backup:
sudo tar -czvf uptime-kuma-backup.tar.gz /opt/uptime-kuma
Restore:
sudo tar -xzvf uptime-kuma-backup.tar.gz -C /opt/uptime-kuma
docker-compose up -d
🔄 Step 7 – Updating to the Latest Version
docker-compose pull uptime-kuma
docker-compose down
docker-compose up -d
💡 Pro Tip: You can set up Nginx as a reverse proxy with SSL for secure access via your domain, and use tools like Watchtower to automate container updates.
✅ Conclusion
With Uptime Kuma running, you now have a self-hosted monitoring dashboard that’s simple to manage, visually appealing, and highly reliable. Whether you’re monitoring a single website or an entire server cluster, you’ll be instantly alerted to downtime — helping you take action before it impacts your users.
🚀 Explore more guides on our blog 👉 blog.1it.pro
📧 Contact us: admin@1it.pro for expert IT guidance.
🌐 Explore more: Visit 1it.pro for top-tier IT solutions.