Docker image for Superset.
This project is unofficial and not related to Superset or Apache.
Please only file issues in this project that are related to Docker and do include the Docker commands or compose configuration of your setup when filing issues (be sure to hide any secrets/passwords before submitting).
File issues/bugs with Superset at the source.
Please do not files issues like "Please include
<some-python-pip> in the Dockerfile," open a pull request for updates/enhancements.
Navigate to the
examples directory to view examples of how to configure Superset with MySQL, PostgreSQL, or SQLite.
This repo is tagged in parallel with superset. Pulling
amancevice/superset:0.18.5 will fetch the image of this repository running superset version
0.18.5. It is possible that the
latest tag includes new features/support libraries but will usually be in sync with the latest semantic version.
Follow the instructions provided by Apache Superset for writing your own
superset_config.py. Place this file in a local directory and mount this directory to
/etc/superset inside the container. This location is included in the image's
PYTHONPATH. Mounting this file to a different location is possible, but it will need to be in the
View the contents of the
examples directory to see some simple
The image defines two data volumes: one for mounting configuration into the container, and one for data (logs, SQLite DBs, &c).
The configuration volume is located alternatively at
/home/superset; either is acceptable. Both of these directories are included in the
PYTHONPATH of the image. Mount any configuration (specifically the
superset_config.py file) here to have it read by the app on startup.
The data volume is located at
/var/lib/superset and it is where you would mount your SQLite file (if you are using that as your backend), or a volume to collect any logs that are routed there. This location is used as the value of the
SUPERSET_HOME environmental variable.
After starting the Superset server, initialize the database with an admin user and Superset tables using the
superset-init helper script:
docker run --detach --name superset [options] amancevice/superset docker exec -it superset superset-init
Upgrading to a newer version of superset can be accomplished by re-pulling
amancevice/supersetat a specified superset version or
latest (see above for more on this). Remove the old container and re-deploy, making sure to use the correct environmental configuration. Finally, ensure the superset database is migrated up to the head:
# Pull desired version docker pull amancevice/superset # Remove the current container docker rm -f superset-old # Deploy a new container ... docker run --detach --name superset-new [options] amancevice/superset # Upgrade the DB docker exec superset-new superset db upgrade # Sync the base permissions docker exec superset-new superset init