Apache Superset
Data exploration and dashboard application that connects to SQL databases.
- Replaces
-
Paid business intelligence services, such as Tableau.
All open-source alternatives to Tableau
- Difficulty
-
Difficulty: Hard
6 services (2 database or broker: redis, postgres), 5 volume mounts, 1 env value to set, no elevated host access. Heuristic score 8 of 11: hard. A source checkout is needed, so the rating is at least medium.
- Stack
Python (language), Redis (database), PostgreSQL (database)
- Deployment
docker_compose
- Requirements
Not stated.
- License
-
Apache-2.0(OSI-approved open source)Read from github.com/apache/superset/blob/47300cf/LICENSE.txt
- Business model
-
Unknown
The README at the pinned commit does not state a business model, so it stays unknown.
Source: github.com/apache/superset/blob/47300cf/README.md, read on .
- Repository
GitHub stats
- Stars
- 75,252
- Forks
- 18,507
- Open issues and pull requests
- 614
- Last push
- 2026-10-22
- Latest release
- 6.1.0
- Released
- 2026-05-13
From the GitHub API on . These numbers are a snapshot, not live. GitHub detected the license as Apache-2.0.
Compose file
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# -----------------------------------------------------------------------
# We don't support docker compose for production environments.
# If you choose to use this type of deployment make sure to
# create you own docker environment file (docker/.env) with your own
# unique random secure passwords and SECRET_KEY.
#
# For verbose logging during development:
# - Set SUPERSET_LOG_LEVEL=debug in docker/.env-local for detailed Superset logs
# -----------------------------------------------------------------------
x-superset-image: &superset-image apachesuperset.docker.scarf.sh/apache/superset:${TAG:-latest}
x-superset-volumes:
&superset-volumes # /app/pythonpath_docker will be appended to the PYTHONPATH in the final container
- ./docker:/app/docker
- superset_home:/app/superset_home
x-superset-environment: &superset-environment
# Tagged images must use their bundled packages rather than host bind mounts.
DEV_MODE: "false"
services:
redis:
image: redis:7
container_name: superset_cache
restart: unless-stopped
volumes:
- redis:/data
db:
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
image: postgres:17
container_name: superset_db
restart: unless-stopped
volumes:
- db_home:/var/lib/postgresql/data
- ./docker/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
superset:
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
environment: *superset-environment
image: *superset-image
container_name: superset_app
command: ["/app/docker/docker-bootstrap.sh", "app-gunicorn"]
user: "root"
restart: unless-stopped
ports:
- 8088:8088
depends_on:
superset-init:
condition: service_completed_successfully
volumes: *superset-volumes
superset-init:
image: *superset-image
container_name: superset_init
command: ["/app/docker/docker-init.sh"]
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
environment: *superset-environment
depends_on:
db:
condition: service_started
redis:
condition: service_started
user: "root"
volumes: *superset-volumes
healthcheck:
disable: true
superset-worker:
image: *superset-image
container_name: superset_worker
command: ["/app/docker/docker-bootstrap.sh", "worker"]
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
environment: *superset-environment
restart: unless-stopped
depends_on:
superset-init:
condition: service_completed_successfully
user: "root"
volumes: *superset-volumes
healthcheck:
test:
[
"CMD-SHELL",
"celery -A superset.tasks.celery_app:app inspect ping -d celery@$$HOSTNAME",
]
superset-worker-beat:
image: *superset-image
container_name: superset_worker_beat
command: ["/app/docker/docker-bootstrap.sh", "beat"]
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
environment: *superset-environment
restart: unless-stopped
depends_on:
superset-init:
condition: service_completed_successfully
user: "root"
volumes: *superset-volumes
healthcheck:
disable: true
volumes:
superset_home:
external: false
db_home:
external: false
redis:
external: false
From the app's own repository: github.com/apache/superset/blob/47300cf/docker-compose-image-tag.yml.
Compose file from apache/superset, used inside a checkout of that repository (documented setup B).
Install
- Docker with the Compose plugin and git (github.com/apache/superset/blob/47300cf/docs/admin_docs/installation/docker-compose.mdx)
A host with Docker, the Docker Compose plugin and git. This entry needs a checkout of the project repository.
- Get the source at commit 47300cf (github.com/apache/superset/blob/47300cf/docs/admin_docs/installation/docker-compose.mdx)
git init superset cd superset git remote add origin https://github.com/apache/superset.git git sparse-checkout init --cone git sparse-checkout set docker git fetch --depth 1 --filter=blob:none origin 47300cf4c2f13aa3a4bef6c7f349f58397de0035 git checkout FETCH_HEAD - The compose file in the checkout: docker-compose-image-tag.yml (shown here for reading) (github.com/apache/superset/blob/47300cf/docker-compose-image-tag.yml)
Use the compose file shown above.
- What the compose file check ran with (github.com/apache/superset/blob/47300cf/docs/admin_docs/installation/docker-compose.mdx)
The compose file check ran in a checkout of apache/superset at 47300cf4c2f13aa3a4bef6c7f349f58397de0035 (a sparse checkout: the top-level files and the folder docker). The Docker Compose guide tells the reader to shallow-clone the repository and start an official release with docker compose -f docker-compose-image-tag.yml up.
- Start it (github.com/apache/superset/blob/47300cf/docs/admin_docs/installation/docker-compose.mdx)
docker compose -f docker-compose-image-tag.yml up -d - Open the app (github.com/apache/superset/blob/47300cf/docker-compose-image-tag.yml)
Open http://localhost:8088. The compose file publishes host port 8088 for the superset service. The docs say to visit this address in a web browser.
Compose file check: config_ok on 2026-10-22.
Gotchas and maintenance
Gotchas
- Some images use the latest tag or no tag. Images without a pinned version: superset: apachesuperset.docker.scarf.sh/apache/superset:${TAG:-latest}, superset-init: apachesuperset.docker.scarf.sh/apache/superset:${TAG:-latest}, superset-worker: apachesuperset.docker.scarf.sh/apache/superset:${TAG:-latest}, superset-worker-beat: apachesuperset.docker.scarf.sh/apache/superset:${TAG:-latest}. A later pull can get a different version. (github.com/apache/superset/blob/47300cf/docker-compose-image-tag.yml, checked 2026-10-22)
- The compose file publishes host ports. Host ports: 8088 (superset). A port without a host address listens on all host network interfaces. (github.com/apache/superset/blob/47300cf/docker-compose-image-tag.yml, checked 2026-10-22)
- The compose file mounts host folders. Host paths mounted into containers: ./docker/docker-entrypoint-initdb.d at /docker-entrypoint-initdb.d (db), ./docker at /app/docker (superset), ./docker at /app/docker (superset-init), ./docker at /app/docker (superset-worker), ./docker at /app/docker (superset-worker-beat). (github.com/apache/superset/blob/47300cf/docker-compose-image-tag.yml, checked 2026-10-22)
Signals
- Open issues and pull requests: 614
- Last push: 2026-10-22 (0 days before this page was built)
- Latest release: 6.1.0 on 2026-05-13 (162 days before this page was built)