Gotify
Server notifikasi push sederhana untuk menerima dan mengirim pesan secara real-time
Statistik GitHub
Mengapa Notifikasi Push Butuh Sesuatu yang Sederhana?
Pernahkah kamu merasa lelah dengan notifikasi dari berbagai aplikasi yang berteriak minta perhatian? Atau sebaliknya, kamu justru butuh sistem notifikasi yang bisa diatur sendiri, tanpa bergantung pada layanan pihak ketiga yang mahal atau berbayar? Dunia open-source punya jawaban untuk kegelisahan ini, dan namanya adalah Gotify. Bukan sekadar tool notifikasi biasa, Gotify adalah server push sederhana yang dirancang untuk satu hal: menerima dan mengirim pesan secara real-time, tanpa embel-embel yang memusingkan. Saya sendiri pertama kali menemukannya saat mencari alternatif dari Pushover yang berbayar, dan sejak itu, tool ini jadi andalan untuk berbagai keperluan, dari monitoring server sampai pengingat jadwal pribadi.
Gotify: Bukan Sekadar Pemberitahuan Biasa
Gotify lahir dengan misi yang jelas: memberikan notifikasi push yang bisa kamu host sendiri (self-hosted) dengan cara yang semudah mungkin. Ditulis dalam bahasa Go, sebuah bahasa yang terkenal dengan performa dan kesederhanaannya, Gotify berjalan sangat ringan. Kamu bisa menjalankannya di VPS murahan, Raspberry Pi, atau bahkan di laptop tua sekalipun. Yang lebih menarik lagi, seluruh komunikasi didasarkan pada REST API yang simpel — kirim JSON, terima notifikasi. Lisensi MIT memberimu kebebasan penuh untuk memodifikasi, mendistribusikan, bahkan menjualnya. Dan karena gratis, tidak ada biaya langganan bulanan atau batasan jumlah notifikasi. Cocok banget buat para developer, sysadmin, atau siapapun yang ingin kendali penuh atas data notifikasinya.
Apa yang Membuat Gotify Berbeda dari Para Pesaing?
Di pasaran, ada banyak layanan notifikasi push: Pushover, Pushbullet, OneSignal, hingga solusi open-source lain seperti ntfy.sh. Tapi Gotify punya beberapa keunikan yang membuatnya menonjol. Pertama, pendekatannya yang “minimalis berlebihan”. Gotify tidak mencoba menjadi segalanya — ia hanya melakukan satu hal dan melakukannya dengan baik. Tidak ada chat, tidak ada file sharing, tidak ada integrasi rumit. Kamu cukup deploy server, buat token, dan kirim pesan via curl atau aplikasi klien. Kedua, filosofi self-hosted total. Semua data notifikasi ada di servermu sendiri. Kamu tidak perlu khawatir data bocor ke pihak ketiga atau layanan tiba-tiba tutup. Ketiga, dukungan untuk prioritas pesan. Kamu bisa mengatur apakah notifikasi bersifat “low”, “normal”, atau “high”. Ini penting ketika kamu mulai menggunakan Gotify untuk memonitor sistem — notifikasi error harus segera muncul di atas notifikasi biasa. Keempat, ekosistem klien yang solid. Ada aplikasi Android resmi, CLI tool, dan berbagai plugin yang ditulis oleh komunitas. Bahkan, ada proyek side-load untuk Windows dan macOS.
Self-Hosted: Kendali Penuh di Tanganmu
Mungkin kamu bertanya, “Kenapa repot-repot self-hosted kalau ada layanan gratis?” Jawabannya sederhana: privasi dan keandalan. Ketika kamu menggunakan layanan seperti Pushover, data notifikasimu melewati server mereka. Kamu tidak tahu bagaimana data itu disimpan, apakah dienkripsi, atau apakah ada pihak ketiga yang bisa mengaksesnya. Dengan Gotify, semua pesan transit dari servermu ke perangkatmu tanpa perantara. Kamu bahkan bisa menambahkan HTTPS sendiri, mengatur autentikasi, dan memblokir akses dari IP tertentu. Selain itu, kamu tidak perlu khawatir layanan tersebut menaikkan harga atau mengubah kebijakan. Gotify tetap gratis selamanya — karena kamu yang mengelola. Satu-satunya “biaya” adalah waktu untuk mengatur server, dan itu sangat minimal. Cukup pull image Docker, setel port, atur volume persistent, dan selesai. Bahkan untuk pemula yang belum familiar dengan Docker, dokumentasi Gotify sangat jelas dan ramah.
Ekosistem Klien dan Plugin yang Mengesankan
Gotify bukan sekadar server. Ia memiliki aplikasi Android yang tersedia di F-Droid dan Google Play. Aplikasi ini sangat responsif, mendukung notifikasi push langsung (tanpa polling), dan bisa menampilkan prioritas pesan dengan warna berbeda. Kamu juga bisa mengelola token aplikasi langsung dari perangkat. Untuk pengguna CLI, tersedia tool bernama gotify-cli yang ditulis dalam Go. Sangat berguna saat kamu ingin mengirim notifikasi dari skrip shell atau cron job. Contohnya, saya sering menggunakannya di server produksi: jika ada error dalam log, skrip langsung mengirim POST request ke Gotify, dan notifikasi muncul di ponsel dalam waktu kurang dari satu detik. Komunitas juga telah mengembangkan banyak plugin untuk berbagai kebutuhan: integrasi dengan Grafana, Prometheus, Node-RED, Home Assistant, bahkan Bot Telegram. Jadi meskipun Gotify sendiri minimal, ekosistem di sekitarnya sangat kaya.
Gotify untuk Monitoring: Matches Made in Heaven
Salah satu use case paling kuat dari Gotify adalah sebagai saluran notifikasi untuk sistem monitoring. Bayangkan kamu punya server di rumah atau di cloud, dengan berbagai layanan yang harus diawasi 24/7. Kamu bisa menggunakan Uptime Kuma, Grafana, atau bahkan script Python sederhana untuk mengirim notifikasi ke Gotify. Karena REST API-nya super sederhana, hanya butuh satu baris curl untuk mengirim pesan. Contohnya: curl -X POST -H "Authorization: Bearer tokenmu" -H "Content-Type: application/json" -d '{"title":"Server Down","message":"Web server tidak merespon!","priority":8}' https://gotify.example.com/message. Dengan prioritas tinggi, notifikasi ini akan langsung muncul di ponselmu, bahkan saat mode Do Not Disturb bisa ditimpa (tergantung setting aplikasi Android). Saya pribadi menggunakan Gotify untuk memonitor uptime website, suhu CPU Raspberry Pi, dan notifikasi dari sistem backup. Semuanya bekerja tanpa hambatan. Dan karena server Gotify sangat ringan, bisa dijalankan bersamaan dengan tool monitoring di mesin yang sama.
Bagaimana Cara Memulainya?
Untuk memulai dengan Gotify, pilihannya ada dua: menggunakan Docker atau install langsung dari binary. Metode Docker adalah cara paling populer dan direkomendasikan. Cukup buat file docker-compose.yml dengan image gotify/server, tentukan volume untuk persistent data, map port (misal 8080), dan atur environment variable untuk password admin. Jalankan docker-compose up -d, lalu buka browser menuju http://ip-server:8080. Kamu akan disambut dengan antarmuka web yang bersih dan intuitif. Dari sini, kamu bisa membuat token aplikasi baru, melihat riwayat pesan, dan mengelola pengguna. Setelah itu, instal aplikasi Gotify di Android, scan QR code dari halaman web, dan boom — notifikasi langsung masuk. Untuk klien CLI, cukup download binary dari GitHub releases, atur base URL dan token di file konfigurasi, lalu mulai kirim pesan dari terminal. Dokumentasi resmi di GitHub dan website Gotify sangat lengkap, termasuk contoh untuk integrasi dengan berbagai layanan. Jadi jangan khawatir jika kamu baru pertama kali mencoba self-hosted — semuanya sudah dipermudah.
Gotify bukanlah tool yang paling populer di dunia open-source jika dibandingkan dengan proyek besar seperti Prometheus atau Grafana. Namun dengan lebih dari 15 ribu bintang di GitHub, popularitasnya terus bertambah, terutama di kalangan developer yang menghargai kesederhanaan dan kebebasan. Bagi saya, Gotify seperti pisau Swiss Army untuk notifikasi — kecil, tajam, dan bisa dipakai di mana saja. Jika kamu selama ini bergantung pada notifikasi push dari layanan berbayar atau solusi kompleks seperti Slack atau Discord, cobalah Gotify. Satu kali deploy, dan kamu akan bertanya-tanya kenapa tidak melakukannya dari dulu. Karena pada akhirnya, apa yang lebih memuaskan daripada melihat notifikasi penting muncul di perangkatmu, dikirim dari server yang kamu kontrol sendiri?
Fitur
- Mengirim dan menerima pesan secara real-time
- Dapat di-host sendiri (self-hosted)
- API REST sederhana untuk integrasi
- Dukungan WebSocket untuk koneksi langsung
- Antarmuka web yang responsif
- Klien baris perintah (CLI) tersedia
- Notifikasi push ke perangkat
- Ringan dan mudah dikonfigurasi
- Dukungan Docker untuk deployment mudah
- Open source dengan lisensi MIT
Kelebihan
- Sangat ringan dan cepat
- Mudah diinstal dan dikonfigurasi
- Privasi penuh karena dapat di-host sendiri
- Dokumentasi yang jelas
- Komunitas aktif
Kekurangan
- Fitur terbatas dibandingkan layanan notifikasi komersial
- Tidak ada aplikasi seluler resmi (hanya pihak ketiga)
- Integrasi bawaan terbatas
- Tidak ada enkripsi end-to-end bawaan
- Skalabilitas terbatas untuk penggunaan enterprise