Install Metabase Business Intelligence di Docker

Install Metabase Business Intelligence di Docker

Bitnesia Software Mar 25, 2026 72 EN

Di era big data saat ini, data adalah aset paling berharga bagi perusahaan. Namun, data mentah yang menumpuk di database tidak akan berguna tanpa visualisasi yang tepat. Perusahaan membutuhkan alat Business Intelligence (BI) untuk mengubah angka menjadi wawasan (insights) yang dapat ditindaklanjuti. Tantangannya, banyak tools BI di pasaran yang mahal, kompleks, dan membutuhkan keahlian teknis mendalam hanya untuk membuat satu grafik.

Inilah mengapa Metabase menjadi primadona di kalangan startup hingga perusahaan enterprise. Metabase mendemokratisasi akses data, memungkinkan siapa saja, mulai dari CEO hingga staf operasional untuk bertanya pada data dan mendapatkan jawaban visual dalam hitungan detik.

Apa Itu Metabase?

Metabase adalah alat Business Intelligence (BI) open source yang paling cepat dan mudah cara instalasinya. Metabase berfungsi sebagai antarmuka visual yang menghubungkan kita dengan berbagai database (seperti PostgreSQL, MySQL, MongoDB, BigQuery, dan lainnya). Secara garis besar, Metabase mencakup dua fungsi utama:

  1. Business Intelligence (BI): Metabase memungkinkan tim internal membuat dashboard, melacak KPI, dan menggali data tanpa perlu menulis sintaks SQL yang rumit (walaupun editor SQL tetap tersedia untuk power user). Konsep dasarnya berpusat pada “Questions” (pertanyaan terhadap data), “Visualizations” (grafik), dan “Collections” (pengelompokan dashboard).
  2. Embedded Analytics: Metabase memungkinkan pengembang aplikasi untuk menanamkan (embed) grafik dan dashboard interaktif langsung ke dalam aplikasi atau produk mereka sendiri.

Fitur Unggulan Metabase

Mengapa Metabase begitu populer di komunitas developer dan analis data? Berikut fitur-fitur kuncinya:

  • Visual Query Builder: Fitur “drag-and-drop” yang memungkinkan pengguna non-teknis melakukan joinfilter, dan aggregate data tanpa menyentuh kode SQL.
  • SQL Editor: Untuk analis data, tersedia editor SQL canggih dengan fitur variables dan snippets untuk kueri yang kompleks.
  • Interactive Dashboards: Gabungkan berbagai grafik dalam satu layar dengan filter interaktif yang dapat mengubah seluruh tampilan data secara real-time.
  • Alerts & Pulses: Dapatkan notifikasi via Email atau Slack secara otomatis ketika metrik tertentu mencapai ambang batas atau kirim laporan berkala.
  • Data Dictionary: Dokumentasikan arti dari setiap tabel dan kolom agar tim memiliki pemahaman yang sama tentang definisi data.

Metabase Open Source Edition

Metabase menawarkan versi Open Source Edition yang sepenuhnya gratis. Versi ini sangat powerful dan cukup untuk sebagian besar kebutuhan bisnis. Memakai versi ini, kita bisa mendapatkan fitur inti BI, kemampuan self-hosting tanpa batas pengguna (unlimited users), dan kontrol penuh atas data karena berjalan di infrastruktur milik sendiri.

Panduan Self-Hosted Metabase dengan Docker

Cara terbaik, terbersih, dan paling mudah untuk menjalankan Metabase di lingkungan produksi adalah menggunakan Docker.

Dalam panduan ini, kita akan menggunakan konfigurasi production-ready di mana database internal Metabase (tempat menyimpan akun user, dashboard, konfigurasi) menggunakan PostgreSQL, bukan database default H2 yang rentan hilang data jika container dihapus.

Persyaratan Sistem (System Requirements)

Metabase berbasis Java, sehingga membutuhkan memori yang cukup.

  • RAM: Minimal 2 GB (Disarankan 4 GB untuk performa lancar).
  • CPU: 2 vCPU.
  • Software: Docker & Docker Compose.

Tutorial ini menggunakan sistem operasi Ubuntu LTS.

Install Docker

Pastikan sistem sudah diperbarui dan install Docker menggunakan script installer:

apt update 
apt upgrade -y
curl -fsSL https://get.docker.com | sh

Persiapan Direktori Proyek

Buat folder khusus untuk menyimpan konfigurasi dan data Metabase:

mkdir metabase-docker
cd metabase-docker

Buat File Docker Compose

Buat file docker-compose.yml untuk mendefinisikan layanan Metabase dan database PostgreSQL.

nano docker-compose.yml

Masukkan konfigurasi berikut. Konfigurasi ini menghubungkan Metabase ke container PostgreSQL terpisah untuk penyimpanan metadata yang aman:

services:
  metabase:
    image: metabase/metabase:latest
    container_name: metabase
    hostname: metabase
    volumes:
      - /dev/urandom:/dev/random:ro
    ports:
      - 3000:3000
    environment:
      MB_DB_TYPE: postgres
      MB_DB_DBNAME: metabaseappdb
      MB_DB_PORT: 5432
      MB_DB_USER: metabase
      MB_DB_PASS: mysecretpassword
      MB_DB_HOST: postgres
    networks:
      - metanet1
    healthcheck:
      test: curl --fail -I http://localhost:3000/api/health || exit 1
      interval: 15s
      timeout: 5s
      retries: 5
    depends_on:
      - postgres

  postgres:
    image: postgres:16
    container_name: postgres
    hostname: postgres
    environment:
      POSTGRES_USER: metabase
      POSTGRES_DB: metabaseappdb
      POSTGRES_PASSWORD: mysecretpassword
    volumes:
      - ./pg_data:/var/lib/postgresql/data
    networks:
      - metanet1

networks:
  metanet1:
    driver: bridge

Jalankan Metabase

Eksekusi perintah berikut untuk mengunduh image dan menjalankan layanan di latar belakang:

docker compose up -d

Tunggu beberapa menit saat pertama kali dijalankan karena Metabase perlu melakukan inisialisasi skema database.

Konfigurasi Nginx Reverse Proxy

Agar Metabase dapat diakses menggunakan domain (misalnya analytics.domainanda.com) dan bukan hanya IP address, gunakan Nginx.

Install Nginx:

apt install nginx -y

Buat file konfigurasi server block:

nano /etc/nginx/sites-available/metabase.conf

Isi dengan konfigurasi berikut:

server {
    listen 80;
    server_name analytics.domainanda.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Aktifkan konfigurasi dan restart Nginx:

sudo ln -s /etc/nginx/sites-available/metabase.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Install certbot:

apt install certbot python3-certbot-nginx -y 

Request SSL:

sudo certbot --non-interactive \
-m [email protected] \
--agree-tos \
--no-eff-email \
--nginx -d analytics.domainanda.com \
--redirect

Akses Metabase

Setelah instalasi selesai, buka browser akses https://analytics.domainanda.com. Langkah selanjutnya membuat akun administrator dan menghubungkan dengan database.

Penutup

Metabase adalah solusi cerdas bagi organisasi yang ingin membangun budaya berbasis data tanpa biaya lisensi yang mahal. Metabase self-hosted menggunakan Docker, kita mendapatkan kendali penuh atas privasi data dan fleksibilitas infrastruktur. Baik seorang founder startup yang ingin memantau pertumbuhan pengguna, atau engineer yang ingin menyediakan dasbor untuk tim marketing, Metabase adalah jembatan penghubung yang elegan antara data mentah dan keputusan bisnis yang strategis.

Related Posts