Cara Install DBGate dengan Docker di VPS Ubuntu

Kalau kamu sering gonta-ganti koneksi database, males install DBeaver atau MySQL Workbench yang berat, coba deh DBGate. Tools ini database manager berbasis web yang bisa kamu akses langsung dari browser, support banyak jenis database sekaligus kayak MySQL, PostgreSQL, SQL Server, sampai MongoDB.

Biasanya buat konek ke database, orang install aplikasi desktop kayak DBeaver di tiap komputer yang butuh akses. Masalahnya, kalau kerja bareng tim atau sering pindah-pindah device, itu ribet, harus install ulang dan setting koneksi lagi tiap kali. Yang paling kerasa itu pas onboarding orang baru ke tim, mereka harus install tools desktop dan minta kredensial koneksi satu-satu, padahal idealnya cukup dikasih 1 akses login doang. Dengan DBGate di VPS, semua koneksi kesimpen terpusat, siapapun yang butuh akses tinggal buka browser.

Yang kamu butuhin cuma VPS dengan Docker dan Docker Compose udah terinstal, akses SSH ke VPS, dan port 3002 yang masih kosong. Buat referensi fitur lengkapnya, kamu bisa cek dokumentasi resmi DBGate.

1. Bikin Folder Kerja

Bikin folder khusus buat nyimpen file docker-compose dan data DBGate-nya:

mkdir -p ~/dbgate
cd ~/dbgate

2. Bikin File Docker Compose

nano docker-compose.yml

Isi dengan konfigurasi berikut:

version: "3.8"
services:
  dbgate:
    image: dbgate/dbgate:latest
    container_name: dbgate
    restart: unless-stopped
    ports:
      - "3002:3000"
    environment:
      LOGIN: admin
      PASSWORD: admin123
    volumes:
      - ./dbgate-data:/root/.dbgate

Penjelasan singkat: port 3002 di sisi kiri itu port yang bisa kamu akses dari luar, sedangkan 3000 di kanan itu port internal container, jangan diubah. Folder dbgate-data dipakai buat nyimpen konfigurasi koneksi database kamu, jadi biarpun container di-restart atau image di-update, semua koneksi yang udah kamu setup gak bakal ilang.

Penting, dan ini yang paling sering dianggap remeh: ganti LOGIN dan PASSWORD dari default (admin/admin123) ke kombinasi yang lebih kuat sebelum dipakai beneran. Tools kayak DBGate ini punya akses langsung ke isi database kamu, jadi kalau kredensialnya masih default dan port-nya ke-expose ke publik, itu setara sama ngasih kunci gudang ke siapa aja yang lewat.

3. Jalankan DBGate Docker

Simpan file-nya (CTRL+X, Y, Enter), terus jalankan command di bawah. Docker bakal otomatis download image DBGate dari Docker Hub kalau belum ada di server kamu, proses pertama kali bisa makan waktu beberapa menit tergantung kecepatan internet VPS.

docker compose up -d

Cek apakah container-nya beneran jalan:

docker ps

Kalau statusnya Up, DBGate udah jalan normal. Kalau Restarting terus-menerus, biasanya ada masalah konfigurasi yang perlu dicek lewat log container.

4. Buka Port di Firewall

Kalau kamu pakai UFW, buka port 3002 dulu (baca juga panduan setup UFW firewall kalau belum pernah setting). Kalau bisa, batasi aksesnya cuma dari IP tertentu (misal IP kantor atau IP kamu sendiri), jangan buka ke semua orang:

sudo ufw allow from IP-KAMU to any port 3002

Kalau memang perlu diakses dari mana aja (misal tim kerja remote), minimal pasang reverse proxy dengan HTTPS di depannya, jangan biarin akses lewat HTTP polos.

5. Akses DBGate Docker Lewat Browser

Buka browser, akses:

http://IP-VPS:3002

Login pakai username dan password yang udah kamu set di file docker-compose. Setelah masuk, tambahin koneksi ke database kamu lewat menu Add Connection. Interface-nya mirip DBeaver atau phpMyAdmin, jadi kalau udah pernah pakai tools sejenis, gak butuh waktu lama buat familiar.

Satu kebiasaan yang worth diterapin dari pengalaman ngurusin database production: jangan pernah taruh kredensial database production (yang punya data user asli) di tools kayak ini tanpa mikirin siapa aja yang punya akses ke instance DBGate-nya. Kalau timnya udah lebih dari 1-2 orang, pertimbangkan bikin user database terpisah dengan privilege terbatas (read-only misalnya) buat kebutuhan yang gak perlu akses tulis.

Kalau Ada Masalah, Cek Beberapa Hal Ini

Kalau gak bisa diakses lewat browser meski container jalan, cek firewall UFW dan security group cloud provider, pastiin port 3002 beneran kebuka dari kedua sisi. Kalau login gagal terus padahal password udah bener, cek lagi environment variable di docker-compose.yml, pastiin gak ada spasi tambahan atau salah ketik, terus restart container dengan docker compose down lalu docker compose up -d.

Kalau gagal connect ke database yang jalan di container lain, pastiin DBGate dan database itu satu network Docker yang sama, terus pakai nama container sebagai host, bukan localhost. Dan kalau data koneksi ilang setelah container di-restart, cek lagi mounting volume ./dbgate-data:/root/.dbgate udah bener dan foldernya punya permission yang cukup buat ditulis.

Penutup

Nah, segitu aja cara install DBGate Docker di VPS Ubuntu. Setup ini enak banget buat kamu yang sering kerja bareng tim atau butuh akses database dari banyak device, tinggal buka browser doang, gak perlu install apapun di komputer masing-masing. Kalau ada yang error atau nyangkut, drop komentar aja bro.

Jundi Husni Mubaraq

Jundi Husni Mubaraq

Saya seorang software engineer yang sejak awal 2026 megang penuh (sendirian) tanggung jawab infrastruktur server di tempat saya kerja: deploy dan maintain server Linux Ubuntu on-premises, bangun keamanan berlapis pakai CrowdSec dan Cloudflare, kelola job scheduling dan monitoring pakai Cronicle, deploy aplikasi containerized pakai Docker, sampai ngurusin mail server korporat dari nol. Sebelumnya saya 3+ tahun jadi Software Engineer/Fullstack Developer di beberapa perusahaan, termasuk proyek skala internasional (EUDR compliance system buat Lindt & Sprungli) dan sistem rumah sakit (SIMRS, rekam medis elektronik, integrasi BPJS Kesehatan) di RS PKU Muhammadiyah Surakarta. jundi.hm ini tempat saya dokumentasiin apa yang beneran saya kerjain dan pelajarin di lapangan, bukan sekadar riset teori, S.Kom dari Universitas Duta Bangsa Surakarta jadi bekal awal, tapi yang nulis di sini adalah pengalaman langsung ngelola server production sehari-hari. Selengkapnya: https://iam.jundi.hm

Lihat Juga Nih

Selanjutnya Nih

Kasih Komentar

Email kamu gak bakal ditampilin ke publik. Kalau ada tanda ini artinya wajib diisi ya *

Rekomendasi.

Lagi Viral.