A personal journal.

Mengatur Custom Domain di Fly.io

Published on: 30/08/2022 • Updated on: 13/05/2025 • 1 min read

Berawal dari postingan tentang deploy Valtwarden sebelumnya, tentu saya akan menggunakan domain gratisan saya supaya saya tidak banyak mengubah pengaturan di klien Bitwarden lain. Yang disayangkan adalah kita tidak bisa benar-benar mengganti domain dari fly.io, kita hanya bisa melakukan pointing saja. Jadi, kalau ada orang yang mengakses domain proyek saya, tentu bisa dibuka.

Sebagai contoh, domain project saya adalah https://ttrphy-vault.fly.dev, kemudian saya akan menggunakan domain saya sendiri yaitu ke https://vault.ktem.eu.org sesuai apa yang ada di fly.toml vaultwarden saya.

Ada 2 cara yang bisa kita lakukan, yaitu dengan menggunakan CNAME atau dengan A/AAAA record, tetapi tentu akan lebih lama karena ketika kita mengakses custom domain, akan dilakukan lookup lagi ke DNS-nya fly.io. Saya lebih suka menggunakan A/AAAA record. Langsung saja, berikut langkah-langkahnya:

1. Buat cert untuk custom domain kita

Langsung saja ketik perintah fly cert create vault.ktem.eu.org. Bolehkah menggunakan wildcard? Tentu saja bisa. Setelah beberapa saat, ketikkan fly cert show vault.ktem.eu.org dan salin ke notepad bagian DNS, misalnya seperti di bawah.

  DNS Validation Instructions = CNAME _acme-challenge.vault.ktem.eu.org => vault.ktem.eu.org.o055.flydns.net.
  DNS Validation Hostname     = _acme-challenge.vault.ktem.eu.org
  DNS Validation Target       = vault.ktem.eu.org.o055.flydns.net

2. Masukkan ke dns provider kamu

Di sini saya menggunakan Cloudflare sebagai penyedia DNS, dan perlu dicatat bahwa Cloudflare menawarkan proxy dalam manajemen DNS-nya. Untuk bisa terhubung ke fly.io, kita harus menonaktifkan fitur proxy tersebut.

OK, masuk ke DNS cloudlare, dan masukkan acme challenge ke DNS recordnya. Lalu untuk mengisi record A atau AAAA, ketikkan fly ips list. Input deh satu - satu, ingat matikan fitur proxy, jadi DNS record pada cf berstatus DNS Only.

3. Validasi cert dan domain kustom siap digunakan

Ketikkan perintah fly cert check. Jika berhasil, itu berarti domain kustom sudah siap digunakan.

Begitu saja, seperti di Heroku, sebenarnya kita tidak bisa benar-benar menghapus subdomain dari Heroku/fly.io, tetapi setidaknya kita bisa menggunakan custom domain kita sendiri. Bahkan lebih baik lagi, fly.io memberikan Anycast IP kepada kita, sehingga penggunaan custom domain menjadi lebih fleksibel!

Selamat mencoba!