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

  1. Open the Uptime Kuma web interface.

  2. Create your admin account.

  3. 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.

UA EN RU

Зв'язатися з нами

Telegram Email