🎁
Bonus Top-up 50%!Promo Terbatas
Upvote
mariadbdatabasetutorialinternal-network

Deploy MariaDB di Helipod dan Hubungkan ke Aplikasi

Tim Helipod

4 menit baca

Panduan lengkap cara deploy MariaDB di Helipod. MariaDB berjalan di internal network — tidak bisa diakses dari luar cluster, hanya dari service lain di project yang sama via internal DNS.

MariaDB adalah database relasional yang kompatibel dengan MySQL — ringan, cepat, dan cocok untuk aplikasi web seperti WordPress, Laravel, atau backend Node.js. Di Helipod, MariaDB berjalan di internal network only: tidak bisa diakses dari luar cluster, hanya bisa dihubungkan dari service lain di project yang sama via internal DNS.

Di artikel ini kita akan deploy MariaDB, catat internal DNS-nya, lalu hubungkan ke aplikasi lain di project yang sama.

Yang Kamu Butuhkan

  • Akun Helipod (daftar gratis di helipod.io)
  • Project yang sudah dibuat di Helipod

Langkah 1: Tambah Service Database

Buka project kamu di dashboard Helipod, lalu klik + Add Service di pojok kanan atas canvas.

Di dialog New deployment, pilih Database.

Langkah 2: Pilih MariaDB

Setelah memilih Database, kamu akan melihat daftar engine yang tersedia: Redis, Postgres, MySQL, MongoDB, WsProxy, PostgreSQL 16 + WsProxy, dan MariaDB.

Pilih MariaDB — deskripsinya: MariaDB (Internal Network Only).

Penting: MariaDB di Helipod hanya bisa diakses dari dalam cluster. Tidak ada public endpoint — ini by design untuk keamanan. Untuk terhubung ke MariaDB, service kamu harus berada di project yang sama.

Langkah 3: Konfigurasi Environment Variables

Klik service MariaDB yang baru dibuat, lalu buka tab Variables. Set variabel berikut:

Variabel Contoh Nilai Keterangan
MARIADB_ROOT_PASSWORD password-root-kuat Wajib. Password untuk user root
MARIADB_ROOT_HOST % Wajib. Host yang diizinkan untuk root. Gunakan % untuk semua host internal
MARIADB_DATABASE myapp_db Nama database yang akan dibuat otomatis
MARIADB_USER myapp_user User tambahan selain root
MARIADB_PASSWORD password-user-kuat Password untuk MARIADB_USER

Tips keamanan: Gunakan password yang berbeda untuk MARIADB_ROOT_PASSWORD dan MARIADB_PASSWORD. Nilai-nilai ini dienkripsi at rest oleh Helipod dan tidak pernah muncul di logs.

Klik Deploy setelah semua variabel terisi.

Langkah 4: Catat Internal DNS

Setelah status berubah menjadi Running, buka tab Settings pada service MariaDB, lalu scroll ke bagian Networking & Domains.

Kamu akan melihat satu entry bertanda Internal only:

heli-xxxxxxxx.env-xxxx.svc.cluster.local

Salin hostname ini — ini adalah alamat yang digunakan service lain di project kamu untuk terhubung ke MariaDB. Tidak ada magic domain atau public endpoint untuk MariaDB.

MariaDB berjalan di port 3306 secara default. Saat menghubungkan dari aplikasi, gunakan hostname internal di atas dengan port 3306.

Langkah 5: Hubungkan ke Aplikasi Lain

Dari service lain di project yang sama (misalnya WordPress, Laravel, atau Node.js), gunakan internal DNS sebagai database host.

Contoh untuk WordPress

WORDPRESS_DB_HOST=heli-xxxxxxxx.env-xxxx.svc.cluster.local
WORDPRESS_DB_USER=myapp_user
WORDPRESS_DB_PASSWORD=password-user-kuat
WORDPRESS_DB_NAME=myapp_db

Baca panduan lengkapnya di Cara Deploy WordPress di Helipod.

Contoh untuk Laravel

DB_CONNECTION=mysql
DB_HOST=heli-xxxxxxxx.env-xxxx.svc.cluster.local
DB_PORT=3306
DB_DATABASE=myapp_db
DB_USERNAME=myapp_user
DB_PASSWORD=password-user-kuat

Contoh untuk Node.js (mysql2)

const connection = mysql.createConnection({
  host: 'heli-xxxxxxxx.env-xxxx.svc.cluster.local',
  port: 3306,
  user: 'myapp_user',
  password: 'password-user-kuat',
  database: 'myapp_db',
});

Troubleshooting Umum

Error "Connection refused" atau timeout dari aplikasi Pastikan service MariaDB sudah berstatus Running sebelum service aplikasi mencoba konek. Juga pastikan kamu menggunakan internal DNS (bukan IP atau domain publik) dan port 3306.

Error "Access denied for user" Periksa nilai MARIADB_USER dan MARIADB_PASSWORD di tab Variables MariaDB — pastikan sama persis dengan yang digunakan di aplikasi. Jika menggunakan user root, gunakan MARIADB_ROOT_PASSWORD sebagai password.

Aplikasi tidak bisa menemukan hostname Pastikan service aplikasi berada di project yang sama dengan MariaDB. Internal DNS hanya bisa di-resolve dari dalam cluster yang sama. Jika project berbeda, koneksi tidak akan bisa dibuat.

Ingin akses MariaDB dari lokal untuk debugging? MariaDB tidak punya public endpoint, tapi kamu bisa menggunakan service WsProxy (tersedia di menu Database) sebagai jembatan WebSocket-to-TCP untuk koneksi dari luar cluster.

Kesimpulan

Deploy MariaDB di Helipod cukup pilih service, set variabel, deploy, lalu catat internal DNS-nya. Karena MariaDB hanya bisa diakses dari internal network, koneksi dari aplikasi lain di project yang sama menggunakan hostname internal — lebih aman karena database tidak terekspos ke internet publik.

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

Siap coba Helipod?

Deploy aplikasi kamu sekarang. Gratis, tanpa kartu kredit.

Mulai Gratis →