Cara Install Uptime Kuma dengan Docker di VPS Ubuntu

Server nyala terus bukan jaminan semua servis di dalamnya juga jalan mulus, bro. Container bisa diam-diam crash, website bisa down tengah malam, dan biasanya kamu baru sadar pas ada yang komplain duluan. Solusinya gampang: install Uptime Kuma di VPS kamu, biar ada yang mantengin status semua servis 24 jam dan langsung kirim notifikasi begitu ada yang down.

Apa Itu Uptime Kuma?

Uptime Kuma adalah tool monitoring uptime open source yang bisa kamu host sendiri, mirip layanan berbayar kayak UptimeRobot tapi gratis dan datanya tetap di server kamu. Dia bisa cek status website lewat HTTP/HTTPS, port TCP, ping, DNS record, sampai status container Docker, semuanya dari satu dashboard yang enak dilihat.

Kelebihan lain, notifikasinya support lebih dari 90 channel, mulai dari Telegram, Discord, Slack, sampai email SMTP biasa. Jadi begitu ada servis yang down, kamu bisa langsung dapat kabar tanpa harus bolak-balik cek server manual.

Uptime Kuma vs Netdata, Bedanya Apa?

Kalau kamu sudah pernah baca tutorial cara install Netdata di Ubuntu, mungkin bertanya-tanya kenapa masih perlu Uptime Kuma juga. Bedanya di fokus: Netdata itu buat monitoring resource server secara real-time (CPU, RAM, disk, network), sedangkan Uptime Kuma fokus ke ketersediaan servis dari sudut pandang luar, alias apakah servisnya masih bisa diakses atau enggak.

Idealnya dua-duanya jalan bareng. Netdata ngasih tahu kenapa server lemot, Uptime Kuma ngasih tahu kapan servis benar-benar down dan langsung kirim alert ke HP kamu.

Persiapan Sebelum Install Uptime Kuma

Sebelum lanjut, pastikan beberapa hal ini sudah beres dulu. Kalau Docker di VPS kamu belum terpasang, ikuti dulu tutorial cara install Docker di Ubuntu VPS sebelum lanjut ke langkah berikutnya.

  • VPS Ubuntu dengan Docker dan Docker Compose plugin sudah terinstall
  • Minimal RAM 512MB (1GB lebih enak buat monitoring banyak servis)
  • Port 3001 belum dipakai aplikasi lain
  • Akses SSH ke VPS dengan user yang punya izin sudo

Cara Install Uptime Kuma dengan Docker Compose

Cara paling gampang dan direkomendasikan langsung dari dokumentasi resminya adalah pakai Docker Compose. Bikin dulu folder khusus biar volume datanya rapi dan gampang dibackup nanti.

mkdir -p ~/uptime-kuma
cd ~/uptime-kuma
nano compose.yaml

Isi file compose.yaml dengan konfigurasi berikut. Volume di sini penting banget, ini yang bikin data monitor kamu tetap aman meskipun containernya dihapus atau diupdate.

services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    volumes:
      - ./data:/app/data
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 3001:3001
    restart: always

Baris volume docker.sock sifatnya opsional, cuma dipakai kalau kamu mau Uptime Kuma bisa monitor status container Docker lain di VPS yang sama. Kalau tidak butuh fitur itu, baris tersebut bisa dihapus saja. Setelah file tersimpan, jalankan container-nya.

docker compose up -d

Cek statusnya dengan docker ps, pastikan container uptime-kuma statusnya Up. Kalau sudah, buka browser dan akses http://ip-vps-kamu:3001.

Setup Awal: Bikin Akun Admin dan Monitor Pertama

Begitu halaman terbuka, kamu akan diminta bikin akun admin pertama kali. Isi username dan password yang kuat, karena dashboard ini nanti bisa diakses siapa saja yang tahu URL-nya kalau tidak diamankan lebih lanjut.

Setelah login, klik tombol Add New Monitor untuk mulai memantau servis pertama. Pilih tipe monitor (HTTP, TCP Port, Ping, dan lain-lain), isi nama, URL atau alamat target, lalu atur interval pengecekan sesuai kebutuhan, biasanya 60 detik sudah cukup untuk kebanyakan kasus.

Setup Notifikasi Biar Gak Ketinggalan Alert

Monitoring tanpa notifikasi ya sama saja bohong, karena kamu tetap harus buka dashboard terus buat tahu ada masalah atau tidak. Masuk ke menu Settings lalu Notifications, dan tambahkan channel yang kamu pakai sehari-hari.

Settings > Notifications > Setup Notification
Pilih: Telegram / Discord / Slack / Email (SMTP)
Isi token/webhook sesuai channel yang dipilih
Test notifikasi sebelum disimpan

Setelah notifikasi aktif, jangan lupa aktifkan juga di setiap monitor yang sudah dibuat sebelumnya, karena secara default notifikasi baru otomatis nyala untuk monitor yang dibuat setelahnya.

Amankan Akses Uptime Kuma

Dashboard Uptime Kuma sebaiknya jangan dibiarkan terbuka bebas lewat port 3001 langsung ke internet. Pasang reverse proxy dengan domain dan SSL, lalu batasi akses port aslinya cuma dari localhost atau jaringan internal.

Kalau kamu belum setup firewall di VPS, sekalian saja ikuti panduan cara setup UFW firewall di Ubuntu VPS supaya port yang tidak perlu diakses publik bisa langsung ditutup.

Troubleshooting Install Uptime Kuma

Beberapa masalah yang sering muncul waktu install Uptime Kuma dan cara ngatasinnya:

  • Port 3001 sudah dipakai: ganti mapping port di compose.yaml, misalnya 3002:3001, lalu jalankan ulang docker compose up -d.
  • Container langsung restart terus: cek log dengan docker logs uptime-kuma, biasanya penyebabnya folder data belum punya izin tulis yang benar.
  • Tidak bisa diakses dari browser: pastikan firewall VPS sudah mengizinkan port yang dipakai, dan cek apakah provider VPS juga punya firewall tambahan di panel mereka.
  • Notifikasi tidak terkirim: klik tombol Test saat setup notifikasi, kalau gagal biasanya token atau webhook URL yang salah ketik.

Penutup

Sampai sini, kamu sudah berhasil install Uptime Kuma dan punya sistem monitoring uptime sendiri yang jalan 24 jam tanpa perlu bayar layanan pihak ketiga. Biar servis di VPS makin tahan banting, kombinasikan juga dengan Watchtower buat auto-update container Docker supaya aplikasi kamu tetap jalan dengan image versi terbaru tanpa perlu update manual satu-satu.

Jundi Husni Mubaraq

Jundi Husni Mubaraq

Saya seorang software engineer yang sejak awal 2026 megang penuh (sendirian) tanggung jawab infrastruktur server di tempat saya kerja: deploy dan maintain server Linux Ubuntu on-premises, bangun keamanan berlapis pakai CrowdSec dan Cloudflare, kelola job scheduling dan monitoring pakai Cronicle, deploy aplikasi containerized pakai Docker, sampai ngurusin mail server korporat dari nol. Sebelumnya saya 3+ tahun jadi Software Engineer/Fullstack Developer di beberapa perusahaan, termasuk proyek skala internasional (EUDR compliance system buat Lindt & Sprungli) dan sistem rumah sakit (SIMRS, rekam medis elektronik, integrasi BPJS Kesehatan) di RS PKU Muhammadiyah Surakarta. jundi.hm ini tempat saya dokumentasiin apa yang beneran saya kerjain dan pelajarin di lapangan, bukan sekadar riset teori, S.Kom dari Universitas Duta Bangsa Surakarta jadi bekal awal, tapi yang nulis di sini adalah pengalaman langsung ngelola server production sehari-hari. Selengkapnya: https://iam.jundi.hm

Lihat Juga Nih

Selanjutnya Nih

Kasih Komentar

Email kamu gak bakal ditampilin ke publik. Kalau ada tanda ini artinya wajib diisi ya *

Rekomendasi.

Lagi Viral.