superset/docker
Maxime Beauchemin 063914af04
chore: get websocket service to start in docker-compose (#28135)
2024-04-23 11:06:41 -07:00
..
docker-entrypoint-initdb.d chore(actions): generate FOSSA report on master, and ALWAYS check for… (#26857) 2024-01-29 16:18:50 -07:00
nginx chore(async): Making create app configurable (#25346) 2023-09-20 10:04:58 -07:00
pythonpath_dev fix: Bumps Flask Caching to fix RCE vulnerability (#25090) 2023-08-31 08:44:48 -03:00
superset-websocket chore: get websocket service to start in docker-compose (#28135) 2024-04-23 11:06:41 -07:00
.env docs: add more warnings for default secrets and docker-compose (#27921) 2024-04-16 17:02:11 -06:00
README.md feat: migrate to docker compose v2 (#25565) 2023-10-10 14:38:40 -07:00
docker-bootstrap.sh feat: optimize docker-compose up for faster boot time (#27953) 2024-04-12 16:07:49 -07:00
docker-ci.sh chore: removing redundant docker-entrypoint (#17687) 2021-12-08 20:43:28 +02:00
docker-frontend.sh feat: optimize docker-compose up for faster boot time (#27953) 2024-04-12 16:07:49 -07:00
docker-init.sh fix: force data load on import examples (#24410) 2023-06-16 12:55:35 -07:00
frontend-mem-nag.sh Docker-Compose Memory Issue Fix? (#9285) 2020-03-13 09:25:54 -07:00
run-server.sh fix: getting default value in run-server.sh (#20736) 2022-07-18 23:00:27 +08:00

README.md

Getting Started with Superset using Docker

Docker is an easy way to get started with Superset.

Prerequisites

  1. Docker
  2. Docker Compose

Configuration

The /app/pythonpath folder is mounted from ./docker/pythonpath_dev which contains a base configuration ./docker/pythonpath_dev/superset_config.py intended for use with local development.

Local overrides

In order to override configuration settings locally, simply make a copy of ./docker/pythonpath_dev/superset_config_local.example into ./docker/pythonpath_dev/superset_config_docker.py (git ignored) and fill in your overrides.

Local packages

If you want to add Python packages in order to test things like databases 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
    1. docker compose down -v
    2. docker compose up

Initializing Database

The database will initialize itself upon startup via the init container (superset-init). This may take a minute.

Normal Operation

To run the container, simply run: docker compose up

After waiting several minutes for Superset initialization to finish, you can open a browser and view http://localhost:8088 to start your journey.

Developing

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.

Production

It is possible to run Superset in non-development mode by using docker-compose-non-dev.yml. This file excludes the volumes needed for development and uses ./docker/.env-non-dev which sets the variable SUPERSET_ENV to production.

Resource Constraints

If you are attempting to build on macOS and it exits with 137 you need to increase your Docker resources. See instructions here (search for memory)