Monitoring Home Server dengan Uptime Kuma — Cara Simpel Pantau Ketersediaan Layanan
Pernah nggak sih kamu tiba-tiba sadar bahwa website yang kamu jalanin di home server sudah down sejak tadi malam, tapi kamu baru tahu sekarang? Atau mungkin aplikasi yang dijalankan pakai Docker tiba-tiba crash, dan kamu bahkan nggak tahu kapan mulai mati? Kalau iya, kamu nggak sendirian. Banyak yang menjalankan server di rumah lupa bahwa ketersediaan layanan itu harus dipantau — bukan cuma untuk yang di cloud.
Di sinilah Uptime Kuma hadir sebagai solusi monitoring yang simpel, self-hosted, dan gratis. Artikel ini akan membahas cara setup Uptime Kuma di home server dari nol, termasuk konfigurasi Docker, notifikasi, dan beberapa trik yang berguna.
Apa Itu Uptime Kuma?
Uptime Kuma adalah aplikasi monitoring open-source yang dirancang untuk memantau ketersediaan layanan — mulai dari website, port TCP, DNS, hingga aplikasi yang berjalan di Docker. Bayangkan seperti alarm rumah: kamu pasang sensor di beberapa titik, dan kalau ada yang aneh, alarm berbunyi. Uptime Kuma melakukan hal yang sama, tapi untuk layanan digital kamu.
Yang menarik, Uptime Kuma dirancang untuk dijalankan sendiri (self-hosted), artinya semua data monitoring tetap ada di server kamu. Nggak perlu khawatir soal privasi atau ketergantungan pada layanan pihak ketiga. Tampilannya juga bersih dan modern — nggak perlu waktu lama untuk terbiasa.
Kenapa Home Server Perlu Monitoring?
Banyak yang menganggap monitoring itu cuma untuk server besar atau layanan enterprise. Padahal, home server juga butuh. Berikut beberapa alasan kenapa kamu perlu:
- Detect masalah lebih cepat — Daripada baru tahu ada masalah saat ada yang komplain atau cek manual, monitoring memberitahu kamu secara otomatis.
- Riwayat uptime — Kamu bisa melihat pola: apakah server sering crash di waktu tertentu? Apakah ada masalah jaringan yang berulang?
- Dokumentasi untuk diri sendiri — Riwayat monitoring bisa jadi bukti kalau server kamu stabil, atau jadi bahan evaluasi saat ada masalah.
- Notifikasi real-time — Kalau ada yang mati, kamu langsung tahu lewat email, Telegram, atau bahkan push notification di HP.
Intinya, monitoring itu seperti asuransi: kamu harap nggak perlu pakai, tapi kalau butuh, kamu bersyukur sudah memasangnya.
Langkah 1: Persiapan Docker
Uptime Kuma bisa dijalankan langsung atau lewat Docker. Karena kebanyakan home server sekarang sudah pakai Docker, kita akan pakai metode itu karena lebih bersih dan mudah dikelola.
Pastikan Docker dan Docker Compose sudah terinstall di server kamu. Kalau belum, jalankan:
sudo apt update && sudo apt install -y docker.io docker-compose-plugin
sudo systemctl enable --now docker
Setelah itu, buat direktori untuk Uptime Kuma:
mkdir -p /opt/uptime-kuma
cd /opt/uptime-kuma
Langkah 2: Buat Docker Compose
Buat file docker-compose.yml dengan isi berikut:
version: "3.8"
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- ./data:/app/data
Penjelasan singkat:
- Image: Menggunakan image resmi dari Docker Hub (
louislam/uptime-kuma). - Ports: Map port 3001 dari container ke host. Kamu bisa ganti angka pertama (misal
8080:3001) kalau port 3001 sudah dipakai. - Volumes: Data disimpan di direktori
./dataagar persisten. Kalau container dihapus, data tetap aman. - Restart:
unless-stoppedberarti container otomatis restart kalau server reboot, kecuali kamu secara manual menghentikannya.
Jalankan:
docker compose up -d
Tunggu beberapa saat sampai image terdownload. Setelah selesai, buka browser dan akses http://IP_SERVER:3001. Kamu akan diminta membuat akun admin pertama.
Langkah 3: Setup Monitor Pertama
Setelah login, kamu akan melihat dashboard yang kosong. Klik "+ Add New Monitor" untuk mulai memantau layanan.
Berikut beberapa jenis monitor yang tersedia:
- HTTP(s) — Memantau apakah URL bisa diakses dan merespons dengan status code 200. Cocok untuk website atau API.
- TCP Port — Memantau apakah port tertentu bisa diakses. Berguna untuk layanan yang nggak punya HTTP interface.
- DNS — Memastikan resolusi DNS berjalan benar.
- Docker — Memantau container Docker secara langsung.
- Keyword — Memeriksa apakah halaman mengandung kata kunci tertentu.
Sebagai contoh, kita akan memantau website yang dijalankan di Nginx. Isi form seperti ini:
- Monitor Type: HTTP(s)
- URL:
https://adammuiz.com - Monitoring Interval: 60 detik (default sudah cukup untuk kebanyakan kasus)
- Retries: 3 (artinya server harus gagal 3 kali berturut-turut sebelum dinyatakan down)
Klik Save, dan monitor akan langsung mulai bekerja. Kamu akan melihat grafik uptime dan waktu respon di dashboard.
Langkah 4: Notifikasi Otomatis
Monitoring tanpa notifikasi itu seperti alarm yang bunyi tapi kamu nggak dengar. Uptime Kuma mendukung banyak metode notifikasi, termasuk:
- Email (SMTP) — Kirim email saat layanan down atau pulih.
- Telegram Bot — Notifikasi langsung ke Telegram. Sangat praktis untuk pengguna Indonesia.
- Discord Webhook — Cocok kalau kamu pakai Discord untuk komunitas.
- Pushover / Pushbullet — Push notification ke HP.
- Shell Command — Jalankan script kustom saat ada event.
Mari kita setup notifikasi via Telegram. Kamu perlu membuat bot Telegram terlebih dahulu:
- Buka Telegram, cari
@BotFather, dan kirim perintah/newbot. - Berikan nama dan username untuk bot kamu. BotFather akan memberikan token.
- Cari bot baru kamu di Telegram, kirim pesan apa saja (misal "Halo"), lalu buka URL ini di browser:
https://api.telegram.org/botTOKEN/getUpdatesuntuk mendapatkan chat ID.
Sekarang, di Uptime Kuma:
- Buka Settings → Notifications.
- Klik Setup Notification.
- Pilih Telegram.
- Isi Bot Token dan Chat ID.
- Test notifikasi, lalu save.
Setelah itu, setiap kali layanan yang kamu monitor down, kamu akan langsung menerima pesan di Telegram. Praktis, kan?
Langkah 5: Status Page Publik
Fitur keren lainnya dari Uptime Kuma adalah Status Page. Ini adalah halaman publik yang menunjukkan status semua layanan kamu — mirip dengan status page yang digunakan oleh perusahaan besar seperti GitHub atau Cloudflare.
Untuk mengaktifkannya:
- Buka Status Pages di dashboard.
- Klik "Create Incident" atau "New Status Page".
- Pilih monitor mana yang ingin ditampilkan.
- Atur nama dan URL kustom jika diperlukan.
Status page ini bisa diakses oleh siapa saja yang memiliki link-nya. Berguna kalau kamu ingin menunjukkan uptime server kamu ke teman, keluarga, atau klien.
Langkah 6: Backup Data
Karena semua data Uptime Kuma disimpan di direktori data, backup-nya sangat mudah. Kamu bisa pakai crontab untuk backup otomatis:
0 2 * * * tar -czf /home/adam/backup/uptime-kuma-$(date +\%Y\%m\%d).tar.gz -C /opt/uptime-kuma data
Atau kalau kamu ingin lebih canggih, gunakan restic atau borgbackup untuk backup terenkripsi ke remote storage.
Penting untuk diingat: backup harus mencakup seluruh direktori data, karena di situ ada database SQLite yang berisi semua konfigurasi monitor, riwayat, dan pengaturan notifikasi.
Tips Tambahan
Beberapa tips yang aku pelajari setelah pakai Uptime Kuma cukup lama:
- Jangan terlalu agresif — Interval monitoring 10 detik mungkin terdengar bagus, tapi akan membebani server dan menghasilkan terlalu banyak data. Untuk kebanyakan kasus, 60 detik sudah cukup.
- Pakai retries — Jangan langsung notifikasi saat satu kali gagal. Set retry minimal 2-3 untuk menghindari false alarm akibat jaringan yang sesaat.
- Monitor dari dalam juga — Kamu bisa memantau layanan dari IP lokal untuk memastikan akses LAN juga berjalan, bukan hanya dari public URL.
- Kombinasikan dengan nftables — Kalau kamu sudah pakai nftables, pastikan port monitoring tidak terblokir oleh firewall.
Kesimpulan
Uptime Kuma adalah salah satu tool monitoring self-hosted terbaik yang pernah aku pakai. Simpel untuk setup, ringan untuk dijalankan, dan punya fitur yang cukup untuk kebutuhan home server. Yang paling penting, semua data tetap milik kamu — nggak ada ketergantungan pada layanan pihak ketiga.
Kalau kamu sudah menjalankan home server tapi belum punya monitoring, ini saat yang tepat untuk memulai. Karena server yang nggak dipantau itu seperti rumah tanpa alarm — kamu harap aman, tapi siapa yang tahu?
Sudah pakai Uptime Kuma atau tool monitoring lain? Ceritakan pengalaman kamu di kolom komentar. Kalau ada pertentangan soal setup, jangan ragu untuk bertanya!