Business intelligence + analytics. Replaces Tableau / Looker / PowerBI. Connects to any SQL database, builds charts + dashboards, lets non-engineers explore data with SQL Lab + drag-and-drop chart builder.
| Field | Value |
|---|---|
| Containers | ${CONTAINER_PREFIX}superset (web + worker + beat + websocket) |
| Image | apache/superset |
| Internal port | 8088 |
| External port | ${SUPERSET_PORT} (default 8085) |
| Database | PostgreSQL (superset-postgres) + Redis |
| Storage | superset-data + superset-postgres-data |
| Backup type | database + volume |
| Classification | enterprise |
| Profiles | data, enterprise, full |
| Default SSO | oidc |
| Recipe | What it does |
|---|---|
just superset-status / -logs / -restart |
Lifecycle |
just superset-list-users |
List users |
just superset-create-user --email=… --firstname=… --lastname=… |
Create user |
just superset-list-roles |
List Superset roles (Admin, Alpha, Gamma, sql_lab, Public) |
just superset-add-role ROLE USER |
Assign role |
just superset-init-db |
Initialise / re-initialise Superset's metadata DB |
Superset UI → Data → Databases → + Database
- Type: PostgreSQL / MySQL / SQLite / ...
- URI: postgresql://user:pass@host:5432/dbname
For PMA's own service databases (Redmine, Mattermost, n8n) you can
connect from inside the Docker network:
postgresql://redmine:password@asd-${ASD_ENV}-redmine-postgres:5432/redmine
Read-only access is highly recommended — create a read-only Postgres user per
source DB and use that in Superset's connection string.
SQL Lab → New Query → write SQL → Run
→ Explore → Visualisation Type → Bar / Line / Pie / etc.
→ Save as Chart
→ Dashboards → New Dashboard → drag chart in
Connect Superset to multiple PMA service DBs. Build queries that JOIN across
them by email or user_id mappings. Useful for: "engineers with the most
tickets closed correlate with the most Mattermost activity in the deploys
channel".
Settings → Alerts & Reports → + Alert
- Active: Yes
- Owners: [you]
- Trigger: SQL returning rows
- Notification: email / Slack via webhook
- Schedule: every hour
PMA's Mautic + Postal can deliver the emails; n8n can route via Mattermost.
sso.type: oidcjust sso-check superset
just sso-fix superset
Superset reads OIDC config from env vars (set by bootstrap). User roles map
from Authentik groups via Superset's AUTH_USER_REGISTRATION_ROLE +
custom user_info_dict resolver.
Metadata DB vs source DBs. Superset's own state (dashboards, users,
saved queries) lives in superset-postgres. The data you analyse lives in
other DBs you connect to. Backups of superset-postgres save your
dashboards; don't expect them to back up the source data.
Worker + beat are required for alerts / reports. Without them, scheduled
reports don't fire and async queries hang. just status superset shows
all containers.
Cache aggressively. Superset caches query results. After a data refresh
in the source DB, you may need to clear the cache (Settings → CSS Templates
→ "Refresh from data source" on individual charts, or restart Superset).
Row-level security is in the Pro tier territory. Open-source Superset
has basic row-filter capabilities but nothing as rich as Tableau RLS. For
multi-tenant analytics in pattern A (multi-env per tenant), each tenant
has its own Superset — no RLS needed.
Memory usage scales with concurrent users + query complexity. Default
4 GB RAM is enough for a small team; bump for larger orgs.
| Symptom | First check |
|---|---|
| "No data" in a dashboard you know has data | Cache; refresh chart manually |
| Connection test to source DB fails | Container-network reachability + credentials |
| Scheduled report didn't fire | Worker container unhealthy; just status superset |
| Superset login loops | SSO drift; just sso-check superset |
| Charts very slow | Source DB indexing; check query plan via SQL Lab "Explain" |
/pma/services/grafana — sister observability tool (metrics + logs vs Superset's analytics + dashboards)./pma/reference/cli/sso — SSO management.