🎁
Bonus Top-up 50%!Promo Terbatas
Upvote
custom domaindnssslhelipodnetworking

Cara Setup Custom Domain di Helipod — dari DNS sampai SSL Otomatis

Tim Helipod

6 menit baca

Panduan lengkap menghubungkan domain kamu ke aplikasi di Helipod — konfigurasi DNS, SSL otomatis, multiple domain, dan troubleshooting propagasi DNS.

Setiap service yang kamu deploy di Helipod otomatis mendapat subdomain gratis dengan format nama-project.helipod.app — lengkap dengan SSL/HTTPS. Tapi untuk aplikasi production yang serius, kamu tentu ingin pakai domain sendiri: app.yourdomain.com, api.yourdomain.com, atau bahkan yourdomain.com langsung.

Helipod mendukung custom domain dengan SSL otomatis — tidak perlu setup Certbot, tidak perlu renewal manual, tidak perlu konfigurasi nginx untuk SSL termination.

Cara Kerja Custom Domain di Helipod

Di balik layar, traffic ke custom domain-mu diproses seperti ini:

Internet → DNS → Helipod (Traefik) → Container aplikasimu
HTTPS 443 → SSL termination → HTTP ke container

Traefik (reverse proxy yang dipakai Helipod) menangani SSL termination secara otomatis menggunakan Let's Encrypt. Kamu tidak perlu tahu detail teknisnya — cukup arahkan DNS dan Helipod mengurus sisanya.

Seperti yang terlihat di tab Settings:

Internet :443 → Traefik → :3000 (aplikasimu)

Langkah 1: Buka Settings → Networking & Domains

Di dashboard Helipod, klik service yang ingin diberi custom domain. Buka tab Settings, scroll ke bagian Networking & Domains.

Kamu akan melihat:

  • Internal cluster DNS — untuk komunikasi antar pod (internal only)
  • Magic domainnama-project.helipod.app (sudah aktif dari awal)
  • + Custom domain — tombol untuk menambahkan domain kamu

Langkah 2: Tambahkan Domain

Klik + Custom domain, masukkan domain yang ingin kamu gunakan:

  • yourdomain.com — root domain
  • app.yourdomain.com — subdomain
  • api.yourdomain.com — untuk API
  • www.yourdomain.com — WWW subdomain

Setelah menambahkan, Helipod akan menampilkan instruksi DNS yang perlu kamu konfigurasi.

Langkah 3: Konfigurasi DNS

Untuk Subdomain (app.yourdomain.com)

Tambahkan CNAME record di DNS provider kamu:

Type Name Value TTL
CNAME app nama-project.helipod.app 3600

Untuk Root Domain (yourdomain.com)

Root domain tidak bisa menggunakan CNAME (limitasi DNS standard). Gunakan A record yang mengarah ke IP Helipod, atau jika DNS provider kamu mendukung ALIAS/ANAME record, gunakan CNAME-like record untuk root domain.

Type Name Value TTL
A @ [IP yang diberikan Helipod] 3600

Atau jika provider DNS mendukung ALIAS/ANAME:

Type Name Value
ALIAS @ cname.helipod.app

Tips: Gunakan subdomain (app.yourdomain.com) bila memungkinkan — lebih mudah dikonfigurasi dan lebih fleksibel untuk future migration.

Cara Konfigurasi di Provider DNS Populer

Cloudflare:

  1. Login → pilih domain
  2. DNS → Add record
  3. Type: CNAME, Name: app, Target: cname.helipod.app
  4. Proxy status: DNS only (abu-abu, bukan oranye) — penting agar SSL Helipod bisa bekerja

Niagahoster / Domainesia:

  1. cPanel → Zone Editor atau DNS Zone
  2. Tambah CNAME record sesuai instruksi

Google Domains / Squarespace Domains:

  1. DNS → Custom records
  2. Tambah CNAME record

Namecheap:

  1. Domain List → Manage → Advanced DNS
  2. Add New Record → CNAME

Langkah 4: Tunggu Propagasi DNS

DNS propagation bisa memakan waktu 5 menit sampai 48 jam, tergantung TTL record lama dan DNS provider. Umumnya untuk record baru, 5–30 menit sudah cukup.

Cek status propagasi:

# Di terminal lokal
nslookup app.yourdomain.com
dig app.yourdomain.com CNAME

# Atau gunakan website
# dnschecker.org
# whatsmydns.net

Helipod akan otomatis mendeteksi saat DNS sudah propagated dan mulai proses SSL certificate dari Let's Encrypt.

Langkah 5: SSL Otomatis

Setelah DNS propagated, Helipod secara otomatis:

  1. Mendeteksi bahwa domain sudah pointing ke Helipod
  2. Request SSL certificate dari Let's Encrypt
  3. Mengaktifkan HTTPS untuk domain tersebut
  4. Mengatur auto-renewal sebelum certificate expire

Proses ini biasanya selesai dalam 2–5 menit setelah DNS propagated. Kamu tidak perlu melakukan apapun.

Setelah aktif, aplikasimu bisa diakses di:

  • https://app.yourdomain.com
  • http://app.yourdomain.com → otomatis redirect ke HTTPS

Multiple Domain untuk Satu Service

Kamu bisa menambahkan lebih dari satu domain ke satu service. Berguna untuk:

  • www.yourdomain.com dan yourdomain.com keduanya pointing ke app yang sama
  • Domain lama dan domain baru selama masa migrasi
  • Domain regional (id.yourdomain.com, sg.yourdomain.com)

Tambahkan satu per satu melalui tombol + Custom domain.

Harga Custom Domain

Custom domain tersedia di semua plan berbayar:

Plan Custom Domain
Free ❌ Tidak tersedia
Mekanik ✅ +Rp 300/hari per domain
Pilot Gratis (sudah termasuk plan)
Enterprise ✅ Gratis, unlimited

Untuk plan Mekanik dengan satu custom domain, tambahan biaya Rp 300/hari = ~Rp 9.000/bulan — sangat terjangkau.

Update NEXTAUTH_URL / APP_URL Setelah Pasang Domain

Setelah custom domain aktif, jangan lupa update environment variables yang mengandung URL aplikasi:

Laravel:

APP_URL=https://yourdomain.com

Next.js dengan NextAuth:

NEXTAUTH_URL=https://yourdomain.com

Django:

ALLOWED_HOSTS=yourdomain.com,www.yourdomain.com
CSRF_TRUSTED_ORIGINS=https://yourdomain.com,https://www.yourdomain.com

Setelah update, klik Deploy untuk redeploy dengan konfigurasi baru.

Cloudflare sebagai DNS Provider

Jika menggunakan Cloudflare, ada satu hal penting: matikan proxy (set ke DNS only, ikon abu-abu).

Jika proxy Cloudflare aktif (ikon oranye), SSL certificate Let's Encrypt tidak bisa di-issue karena domain akan pointing ke IP Cloudflare, bukan IP Helipod.

Setelah domain aktif di Helipod dengan SSL berjalan, kamu boleh aktifkan kembali proxy Cloudflare jika mau — tapi pastikan SSL mode di Cloudflare diset ke "Full" atau "Full (Strict)".

Troubleshooting

SSL certificate tidak muncul

  • Pastikan DNS sudah propagated: dig app.yourdomain.com harus return CNAME ke *.helipod.app
  • Pastikan tidak ada proxy di Cloudflare (harus DNS only)
  • Tunggu beberapa menit lagi — Let's Encrypt rate limit bisa memperlambat proses
  • Cek apakah ada conflicting DNS record (A record yang masih pointing ke IP lama)

"Domain not found" atau "Site can't be reached"

  • DNS belum propagated — cek dengan nslookup app.yourdomain.com
  • CNAME record salah — pastikan value-nya persis nama-project.helipod.app

Certificate error di browser ("NET::ERR_CERT_COMMON_NAME_INVALID")

  • Certificate belum selesai di-issue — tunggu 5–10 menit lagi
  • Domain tidak match dengan certificate — pastikan domain yang didaftarkan di Helipod sama persis dengan yang diakses

HTTP redirect loop

  • Terjadi jika app dan Cloudflare sama-sama melakukan redirect HTTP→HTTPS
  • Solusi: set FORCE_HTTPS=false di app, biarkan Helipod/Cloudflare yang handle redirect

Kesimpulan

Setup custom domain di Helipod sangat mudah — arahkan DNS ke Helipod, SSL otomatis aktif. Tidak perlu install Certbot, tidak perlu renew certificate manual, tidak perlu konfigurasi nginx untuk SSL.

Ingin monitoring domain dan performa aplikasi? Baca Monitor CPU, Memory, dan Logs di Helipod.

Punya pertanyaan? Hubungi kami di support@helipod.id atau bergabung ke komunitas di hangar.helipod.io.

Siap coba Helipod?

Deploy aplikasi kamu sekarang. Gratis, tanpa kartu kredit.

Mulai Gratis →