Deploy Uptime Kuma ke Fly.io | Membangun Sistem Monitoring Gratis

SPACE IKLAN DISEWAKAN

Deploy Uptime Kuma ke Fly io – Dalam era digital yang terus berkembang, pemantauan sistem menjadi aspek krusial untuk menjaga kinerja dan keandalan platform teknologi terutama server. Untuk memastikan bahwa server tetap online dan berjalan dengan baik, diperlukan sistem yang dapat memonitor status up down server secara efektif. Salah satu cara yang dapat dilakukan dalam hal ini adalah dengan membangun sistem monitoring.

Membangun Sistem Monitoring dengan Uptime Kuma dan Fly.io

Uptime Kuma adalah alat yang dirancang khusus untuk memonitor uptime suatu server atau website dengan berbagai fitur. Sedangkan Fly.io adalah platform yang digunakan untuk mendeploy dan mengelola aplikasi secara global. Fly.io menawarkan layanan mendeploy aplikasi ke server di berbagai lokasi di seluruh dunia. Selain itu Fly.io juga menawarkan paket gratis selamanya yang dapat digunakan oleh semua penggunan fly.io

Baca Juga : Cara Install Uptime Kuma di Docker

Paket Gratis Fly.io

Fly.io memberikan resource gratis kepada semua penggunakanya di setiap plan yang mereka pilih dengan dibatasi spesifikasi tertentu. Spesifikasi tersebut adalah sebagai berikut :

  • Up to 3 shared-cpu-1x 256mb VMs
  • 3GB persistent volume storage (total)
  • 160GB outbound data transfer

Fly.io memberikan maksimal 3 buah VM gratis dengan masing-masing 1 core CPU, tiap-tiap VM maksimal dapat 256 MB RAM. Karena dapat 3 GB total storage, maka masing-masing VM mendapatkan maksimal 1 GB Disk storage. Dan terakhir mendapatkan free data transfer (bandwith) sebesar 160 GB/bulan.

Artinya jika kita membuat VM yang spesifikasinya setara dengan batas limit resource di atas, maka kita tidak akan dikenakan biaya billing. Atau jika spesikasi VM yang kita buat masih berada di bawah batasan free resource di atas, Anda juga tidak akan dikenakan bill. Jadi Anda bisa menggunakan fly.io secara gratis selamanya.

Deploy Uptime Kuma ke Fly.io

Sebelumnya pastikan Anda sudah mempunyai akun fly.io terlebih dahulu. Untuk mendaftar ke fly.io dibutuhkan kartu kredit atau debit yang memiliki saldo kurang lebih 80 ribu untuk verifikasi. Saya sendiri menggunakan Kartu Debit Jenius. Sebenarnya, untuk mendeploy webapp seperti uptime kuma ke fly.io ada banyak cara yang bisa kita gunakan, tapi pada tutorial kali ini kita akan menggunakan tool flyctl.

Langkah #1 : Menginstall Flyctl

Flyctl ini adalah tool command line khusus yang disediakan oleh fly.io. Gunanya untuk memudahkan memanage layanan fly.io. Seperti login ke console fly.io, launch app, delete app, dan fungsi manage lainya. Untuk menginstall tool flyctl, Anda bisa mengikuti tutorial di bawah ini :

Cara Install flyctl klik di sini. Karena saya menggunakan linux, maka perintah untuk menginstall flyctl adalah seperti ini.

curl -L https://fly.io/install.sh | sh

Setelah proses instalasi flyctl selesai, selanjutnya silahkan login ke akun fly.io menggunakan perintah fly auth. Silahkan ikuti saja perintah yang muncul, seperti mengcopy url dan mempastenya di address bar browser untuk proses login. Pastikan login berhasil seperti gambar di bawah ini.

fly auth login

Langkah #2 : Membuat Konfigurasi fly.toml

fly.toml adalah konfigurasi seperti dockerfile. Isinya adalah penjabaran konfigurasi VM yang akan dibuat. Seperti base image, spesifikasi VM, mount point volume, http services, Expose port, Region, dan konfigurasi penting lainya. Berikut dibawah ini adalah konfigurasi fly.toml untuk menginstall uptime kuma.

nano fly.toml

masukkan konfigurasi berikut :

app = 'awanservers-uptime'
primary_region = 'sin'

[build]
  image = 'louislam/uptime-kuma:1'

[[mounts]]
  source = 'mykuma_data'
  destination = '/app/data'
  initial_size = '1gb'

[http_service]
  internal_port = 3001
  force_https = true
  auto_stop_machines = true
  auto_start_machines = true
  min_machines_running = 0
  processes = ['app']

[[vm]]
  size = 'shared-cpu-1x'

Langkah #3 : Mulai Proses Deployment

Untuk mendeploy uptime kuma ke fly.io menggunakan flyctl, Anda hanya perlu menjalankan perintah fly launch. dan otomatis uptime kuma akan terdeploy ke fly.io. Lihat gambar yang di tampilkan di bawah ini dan ikuti arahanya !

flyctl launch

Keterangan :

  • ? Would you like to copy its configuration to the new app? Yes
    Kita pilih yes, artinya kita akan melaunch webapp menggunakan konfigurasi file fly.toml yang sudah ada. Dalam hal ini adalah konfigurasi fly.toml yang sudah Anda buat sebelumnya pada langkah nomor-2.
  • ? Do you want to tweak these settings before proceeding? No
    Kita pilih No, artinya Anda tidak akan merubah konfigurasi yang sudah ada. Dalam hal ini karena ANda sudah membuat konfigurasi spesifikasi webapp Anda di awal pada langkah nomor-2, jadi Anda tidak perlu mengubahnya lagi.

Setelah proses launch selesai, harusnya website uptime kuma sudah bisa diakses menggunakan URL dari fly.io. URL yang saya dapat adalah kumav5.fly.dev. URL bisa Anda temukan saat selesai proses deployment.

Langkah #4 : Custom Domain (Opsional)

Langkah keempat ini Anda akan mengatur custom domain untuk web uptime kuma. Seperti yang kita ketahui bahwa setelah selesai proses deployment kita mendapatkan Subdomain dari fly.io untuk mengakses web uptime kuma kita. Tapi Anda bisa mengubahnya menjadi domain milik sendiri. Caranya adalah sebagai berikut :

Set A record

Cara paling mudah untuk mengubah domain uptime kuma ke domain sendiri adalah dengan membuat A Record lalu arahkan ke IP Address fly.io. Pertanyaanya dimana kita bisa menemukan IP Addressnya ? IP Address bisa Anda temukan setelah proses deployment selesai. Di situ dijelaskan bahwa kita mendapatkan shared IPv4 dan dedicated IPv6.

Request SSL Sertifikat

Setelah mengatur A Record, kemudian request SSL dengan perintah berikut :

fly certs add monitor.awanservers.com

Penutup

Jadi begitulah artikel mengenai Deploy Uptime Kuma ke Fly io | membangun sistem monitoring gratis menggunakan uptime kuma dan fly.io. Jika Anda pertanyaan lebih lanjut bisa menulis di kolom komenter.

SPACE IKLAN DISEWAKAN
Server Admin

Leave a Reply

Your email address will not be published. Required fields are marked *


You might also like