ILUM Superset: BI dashboards with Spark, Trino, ClickHouse connectors (Kyuubi, OIDC)
5.5K
Production-ready Apache Superset distribution with pre-installed database connectors for Spark, Trino, ClickHouse, and enterprise authentication.
ilum/superset is Ilum's production-hardened distribution of Apache Superset, the modern data exploration and visualization platform. This distribution extends the official Superset image with pre-installed database connectors commonly used in data lakehouse environments, including Kyuubi, Trino, ClickHouse, and Elasticsearch.
# Run Superset with SQLite (development mode)
docker run -d \
--name ilum-superset \
-p 8088:8088 \
-e SUPERSET_SECRET_KEY=your-secret-key \
ilum/superset:6.0.0
# Access UI: http://localhost:8088
# Default credentials: admin / admin
Note: For production deployments, use the official Ilum Helm Chart. Configure PostgreSQL as metadata database via superset_config.py.
6.0.0 — Superset 6.x + Ilum connectors + DuckDB + Chromium4.1.1 — Superset 4.x + Ilum connectors + Chromium| Connector | Package | Use Case |
|---|---|---|
| Apache Kyuubi | kyuubi (git) | Spark SQL via Hive Thrift |
| Trino | trino | Distributed SQL queries |
| ClickHouse | clickhouse-connect | Real-time analytics |
| Elasticsearch | elasticsearch-dbapi | Log analytics |
| MySQL | mysqlclient | MySQL databases |
| PostgreSQL | psycopg2-binary | PostgreSQL databases |
| Hive | thrift, thrift-sasl | Hive JDBC/Thrift |
Pre-installed OIDC/OAuth2 support:
flask-oidc — OpenID Connect provider integrationflask_openid — OpenID authenticationConfigure in superset_config.py:
from flask_oidc import OpenIDConnect
AUTH_TYPE = AUTH_OID
OIDC_CLIENT_SECRETS = '/app/pythonpath/client_secrets.json'
Playwright with Chromium is pre-installed for:
| Variable | Description |
|---|---|
| SUPERSET_SECRET_KEY | Flask secret key (generate with openssl rand -hex 32) |
| DATABASE_URL | Metadata database connection string (PostgreSQL recommended) |
| Variable | Default | Description |
|---|---|---|
| SUPERSET_PORT | 8088 | HTTP port |
| SUPERSET_ENV | production | Environment mode |
| PYTHONPATH | /app/pythonpath | Python path for config |
| Container Path | Purpose |
|---|---|
/app/superset_home | User uploads, cached data |
/app/pythonpath | Custom superset_config.py |
# docker-compose example
volumes:
- ./superset_config.py:/app/pythonpath/superset_config.py:ro
- superset_home:/app/superset_home
| Port | Service |
|---|---|
8088 | Superset web application |
The image runs as user superset (non-root). Home directory: /app/superset_home.
CAUTION:
Never hardcode SUPERSET_SECRET_KEY or database credentials!
Use Kubernetes Secrets:
env:
- name: SUPERSET_SECRET_KEY
valueFrom:
secretKeyRef:
name: superset-secrets
key: secret-key
trivy image ilum/superset:6.0.0
Run from the repository root:
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t ilum/superset:6.0.0 \
--target lean \
--push .
dive ilum/superset:6.0.0
syft ilum/superset:6.0.0 -o spdx-json > sbom.json
When deployed as part of the Ilum data lakehouse platform:
ilum-kyuubi:10009 using Hive protocolContent type
Image
Digest
sha256:e55494a19…
Size
990.5 MB
Last updated
7 months ago
docker pull ilum/superset:6.0.0