Cara Instalasi Apache Superset untuk Data Visualization Menggunakan Docker
0 people liked this article

Dashboard visualisasi data cukup membantu dalam mengalisa data, salah satu software yang dapat digunakan yaitu Apache Superet yang merupaan salah satu platform open-source untuk kebutuhan visualisasi data, eksplorasi data, dan analisis data berbasis SQL. Superset sendiri platform yang dikembangkan oleh Apache Software Fundation yang dirancang khusus untuk eksplorasi dan visualisasi data yang dapat diintegrasikan dengan jenis database seperti PostgreSQL, MySQL, MariaDB, SQL Server, BigQuery, dan lainnya.
Pada artikel kali ini akan membahas cara instalasi Apache Supertset dengan menggunakan Dockerfile dan Docker Compose dengan konfigurasi ringan di VPS Linux Ubuntu 24.04 LTS, karena untuk instalasi menggunakan default menggunakan stack delopment bawaan Superset cukup berat yang akan menginstal stack seperti Node Js, Webpack, Redis, Celery Worker, Celery Beat, Websocket, Nginx, dan data dummy. Maka dari itu pada artikel kali ini akan menginstal dengan konfigurasi ringan dengan setup dua service saja yaitu Superset App dan PostgreSQL sebagai database.
Sebelumnya itu pastikan telah menyiapkan server dengan spesifikasi berikut:
- Ubuntu Server 24.04
- RAM minimal 4 GB
- CPU minimal 2 core
- Storage minimal 20 GB
- Docker
- Docker Compose Plugin
- Akses SSH ke server
- Akses user dengan privilege sudo

1. Persiapan Konfigurasi Superset
Persiapan awal tentunya menginstall docker, untuk instalasi docker dapat mengikuti langkah panduan dibawah:
Jika docker telah terinstal pada server dapat melanjutkan setup awal file konfigurasi awal dengan struktur berikut:
Superset/
├── Dockerfile
├── docker-compose.yml
├── .env
└── superset_config.py
Setelah mendapatkan struktur yang sesuai, lanjut buat folder Superset:
mkdir Superset
cd Superset
a. Buat File Environment Seperset
Buat file .env, sebelum itu generate secret key dahulu:
openssl rand -base64 42
Simpan secret key yang nantinya akan ditambahkan pada .env, lanjut buat konfigurasi .env.
nano .env
Inputkan konfigurasi berikut pada file .env.
SUPERSET_SECRET_KEY=PASTE_SECRET_KEY
POSTGRES_PASSWORD=PasswordDB
Note:
- SUPERSET_SECRET_KEY : Diisi dengan secret key yang telah digenerate sebelumnya.
- POSTGRES_PASSWORD : Dapat diisi dengan password yang akan digunakan oleh Database PosgreSQL
b. Konfigurasi File Superset
Buat file konfigurasi dalam:
nano superset_config.py
Inputkan dengan konfigurasi berikut
import os
SECRET_KEY = os.getenv("SUPERSET_SECRET_KEY")
SQLALCHEMY_DATABASE_URI = os.getenv("SQLALCHEMY_DATABASE_URI")
SQLALCHEMY_ENGINE_OPTIONS = {
"pool_size": 5,
"max_overflow": 5,
"pool_pre_ping": True,
}
# Low-resource settings
ROW_LIMIT = 5000
SUPERSET_WEBSERVER_TIMEOUT = 120
# Use local simple cache, no Redis needed
CACHE_CONFIG = {
"CACHE_TYPE": "SimpleCache",
"CACHE_DEFAULT_TIMEOUT": 300,
}
DATA_CACHE_CONFIG = CACHE_CONFIG
# Useful if later you use reverse proxy
ENABLE_PROXY_FIX = True
# Disable alerts/reports because they need Celery worker
FEATURE_FLAGS = {
"ALERT_REPORTS": False,
}
c. Konfigurasi Dockerfile Superset
Buat file Dokerfile:
nano Dockerfile
Inputkan dengan konfigurasi berikut
FROM apache/superset:latest
USER root
RUN uv pip install --python /app/.venv/bin/python --no-cache psycopg2-binary
USER superset
d. Konfigurasi Docker Compose
Buat file Dokerfile:
nano docker-compose.yml
Inputkan dengan konfigurasi berikut
services:
db:
image: postgres:16-alpine
container_name: superset-lite-db
restart: unless-stopped
environment:
POSTGRES_DB: superset
POSTGRES_USER: superset
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- ./postgres-data:/var/lib/postgresql/data
command: >
postgres
-c shared_buffers=256MB
-c max_connections=50
-c work_mem=8MB
-c maintenance_work_mem=64MB
mem_limit: 1g
cpus: "1.0"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U superset -d superset"]
interval: 10s
timeout: 5s
retries: 10
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
superset:
build: .
image: superset-lite:latest
container_name: superset-lite-app
restart: unless-stopped
depends_on:
db:
condition: service_healthy
environment:
SUPERSET_SECRET_KEY: ${SUPERSET_SECRET_KEY}
SUPERSET_CONFIG_PATH: /app/pythonpath/superset_config.py
SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:${POSTGRES_PASSWORD}@db:5432/superset
volumes:
- ./superset_config.py:/app/pythonpath/superset_config.py:ro
- ./superset-home:/app/superset_home
ports:
- "8088:8088"
command:
- /bin/sh
- -c
- |
gunicorn \
--bind 0.0.0.0:8088 \
--workers 1 \
--worker-class gthread \
--threads 4 \
--timeout 120 \
--limit-request-line 0 \
--limit-request-field_size 0 \
"superset.app:create_app()"
mem_limit: 2g
cpus: "1.5"
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
e. Build Image Superset
Setelah membuat file konfigurasi yang dibutuhkan, dapat melakukan build image dengan menjalankan:
sudo docker compose build --no-cache superset
f. Setup Database PosgreSQL
Jalankan container database dan pastikan berstatus running / up:
sudo docker compose up -d db
sudo docker compose ps
Migrate database Superset ke database.
docker compose run --rm superset superset db upgrade
Buat user dan set password user
docker compose run --rm superset superset fab create-admin

g. Menjalankan Superset
Setelah setup database, dapat meanjutkan setup aplikasi Apache Superset dan pastikan container berstatus running / up:
sudo docker compose up –d
sudo docker ps -a

2. Akses Superset
Setelah dipastikan service container Superset dan Database PostgreSQL berjalan, dapat melanjutkan akses melalui browser dengan url port 8088 sesuai port yang di ekspose.
http://IP_SERVER:8088

Setelah itu login dengan user dan password Superset yang telah di setup sebelumnya, setelah user dan password valid akan dialihkan ke laman dashboard Apache Superset.

3. Penutup.
Instalasi Apache Superset dengan menggunakan kofigurasi ringan / lightweight menggunakan Docker Compose dapat menjadi pilihan untuk server dengan resource yang terbatas dan cocotk untuk kebutuhan dashboard internal, ekplorasi data dan reporting data sederhana.
Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silakan hubungi Support Biznet GIO melalui email support@biznetgio.com atau melalui live chat maupun WhatsApp di website www.biznetgio.com dan bisa juga melalui telepon ke nomor (021) 5714567.
Popular Articles
-
Cara Install & Konfigurasi Monitoring Cacti Serta Mengetahui Fungsi Fitur Pada Cacti
15 people say this guide was helpful
-
Cara Mengaktifkan Telnet pada Windows 7, 8 dan 10
5 people say this guide was helpful
-
Install dan Konfigurasi Samba Server pada Ubuntu
5 people say this guide was helpful
-
Jenis-Jenis Software Virtualisasi untuk Membuat Virtual Machine
7 people say this guide was helpful