Docker is an easy way to get started with Superset.
The /app/pythonpath
folder is mounted from ./docker/pythonpath_dev
which contains a base configuration ./docker/pythonpath/superset_config.py
intended for use with local development.
In order to override configuration settings locally, simply make a copy of ./docker/pythonpath/superset_config_local.example into ./docker/pythonpath/superset_config_docker.py (git ignored) and fill in your overrides.
If you want to add python packages in order to test things like DBs locally, you can simply add a local requirements.txt (./docker/requirements-local.txt) and rebuild your docker stack.
Steps:
1. Create ./docker/requirements-local.txt
2. Add your new packages
3. Rebuild docker-compose
a. docker-compose down -v
b. docker-compose up
The DB will initialize itself upon startup via the init container (superset-init) (This may take a minute.)
To run the container, simply run:
docker-compose up
After several minutes for superset initialization to finish, you can open a browser and view http://localhost:8088
to start your journey.
While running, the container server will reload on modification of the superset python and javascript source code. Don't forget to reload the page to take the new frontend into account though.
It is also possible to run Superset in non-development mode: in the docker-compose.yml
file remove
the volumes needed for development and change the variable SUPERSET_ENV
to production
.
If you are attempting to build on a Mac and it exits with 137 you need to increase your docker resources. OSX instructions: https://docs.docker.com/docker-for-mac/#advanced (Search for memory)