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_PASSWORDdanMARIADB_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.