Superset
The Apache BI platform - dashboards, SQL Lab, alerts and reports - with no per-user pricing.
One-click deploy, from $49/mo on a Miget plan.
Superset is what BI looks like when a data team builds it for themselves: a no-code chart builder with forty-plus visualization types, dashboards with filters and drill-downs, SQL Lab for the analysts, and scheduled alerts and reports - Apache-2.0, no feature meter, no seat meter.
This template ships the real production shape: gunicorn app, Celery worker and beat for async queries and scheduled reports, an idempotent init sidecar (migrations + admin bootstrap), a noeviction Valkey, and the managed Postgres for metadata. The dict-style config Superset requires is baked the officially documented way - a small superset_config.py reading everything simple from env.
Preset (the hosted Superset) starts at $100/month base plus $6 per user. This stack is $49/month with users uncounted - and your warehouses stay on the project network.
Upstream project: Apache Superset
#what you get
- 40+ chart types, dashboard filters, drill-down
- SQL Lab with query history and saved queries
- Alerts and scheduled reports (Celery beat included)
- Connects to every catalogue database by service name
- Production topology with idempotent init - no manual bootstrap
- Apache-2.0; no seats, no feature gates
#topology
| Service | Role | Public |
|---|---|---|
| app | UI + API (gunicorn, :5000) | yes |
| worker / beat / init | Celery + scheduled reports + migrations | no |
| broker / db | noeviction Valkey / managed Postgres metadata | no |
#miget sizing
// this stack needs
5.3 GiB RAM · 10 GB disk · 6 services
2 GiB for the app, 1 GiB worker - the floor for real dashboard use. Heavy concurrent SQL Lab moves the worker up a plan before the app.
Hobby - recommended fit
$49/mo
4 vCPU · 8 GiB · 160 GiB disk
Headroom for your own apps: 16 GiB at $97/mo
Professional - production
$85/mo
4 vCPU · 8 GiB · 50 GiB disk
Dedicated resources, production SLOs - plan details
One Miget plan is a fixed pool of compute - the whole stack (managed databases included) deploys inside it, and anything left over runs your other apps. No per-service or per-seat math.
#vs. the managed service
What the hosted equivalents charge, against the flat Miget plan this stack fits on. Prices as of June 2026, sources linked.
| Service | Plan | Monthly | What you get |
|---|---|---|---|
| Superset on Miget ★ | 8 GiB plan | $49 | this whole stack, flat - no usage meters, and room left for your own apps |
| Preset | Professional | ~$300 | $20/user/mo at 15 users (Starter base $100/mo + per-user) - hosted Superset |
| Metabase Cloud | Starter | ~$100 | the adjacent hosted-BI reference: base + $6/user |
#vs. other PaaS
Estimated monthly cost of running this exact stack (5.3 GiB RAM, 10 GB disk, 6 containers) elsewhere, from published June 2026 rates.
| Platform | Est. monthly | Notes |
|---|---|---|
| Miget ★ | $49 flat | compose stacks first-class: one deploy, dedicated vCPU, managed Postgres/Valkey, volumes and TLS all included in the plan |
| Heroku | ~$263 | no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown |
| Render | ~$68 | per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service |
| DO App Platform | ~$68 | no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here) |
| Railway | ~$54 | usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top |
| Fly.io | ~$32 | cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra |
Estimates assume RAM fully allocated at published on-demand rates - and sticker price isn't the whole comparison: the cheaper rows buy burstable shared CPUs, per-service wiring instead of a compose deploy, and managed databases billed separately. Heroku and DO App Platform have no persistent volumes at all - stateful stacks like this one need workarounds there.
#deploy it
On Miget
- Create a Compose Stack in app.miget.com pointing at the templates repository
- Set the stack path to
superset -
Set the required variables:
SUPERSET_SECRET_KEY, openssl rand -base64 42 (the server refuses to start without one)REDIS_AUTH / ADMIN_PASSWORD, queue password; admin login (username admin)
- Deploy. Miget layers
compose.miget.yaml(RAM, privacy, volumes, managed services) automatically
Locally first?
Every template is portable, vanilla Docker Compose - the Miget overrides are ignored locally:
git clone https://github.com/deployable-sh/stacks
cd miget-compose-templates/superset
docker compose up -d Same files, same behavior. The template README covers connection strings and scaling notes.
#faq
Superset or Metabase - the catalogue has both?
Metabase for self-serve simplicity (marketing asks it questions); Superset for data-team power - SQL Lab, fine-grained chart control, dashboards-as-product, alerts. Both run on flat plans here; many orgs genuinely use both.
How does the cost compare to Preset or Tableau-class BI?
Preset Professional is $20/user/month on top of a $100 Starter base; Tableau-class tools run $70+/user. A 15-person analytics audience costs $300-1,000+/month hosted - versus $49 flat here, with the same Superset.
What can it connect to in my project?
Everything with a SQLAlchemy driver, by service name: clickhouse (ch-1:8123), timescaledb, mariadb-galera, mssql, the managed Postgres your apps use. In-project connections never leave the private network.
Why does the template bake a config file?
Superset’s Celery and cache settings are Python dicts that env vars cannot express - the upstream-documented pattern is exactly this baked superset_config.py with SUPERSET_CONFIG_PATH. Simple values still come from env; you should never need to edit it.
Ship Superset today
One compose stack, 5.3 GiB of RAM, from $49/month flat, and it runs on your laptop with the same files.