superset/docker
Rob DiCiuccio 27f7d1157f
build: Ephemeral environments for PRs via slash command (#13189)
* First pass at ephemeral env, new Docker ci target

* Add service checks, get public IP

* Separate issue_comment and workflow_run jobs

* Refactor workflows

* Adjust comment author association

* Checkout code

* Fix image name, manage service desired task count

* Use merge commit sha

* Fix IP output, add failure comment

* Refactor comment parsing & env spinup

* Check container image publish status

* Parse AWS account ID from registry URL

* Use PR number rather than variable merge commit SHA for image tag

* Fix docker push conditional

* Push multiple tags to ECR

* Fix comment author check

* Refactor comment body check

* Provision service with active task to get correct IP

* /testenv up

* Add @mentions to PR comments, env var cleanup
2021-02-24 10:50:52 -08:00
..
pythonpath_dev docs: update README.MD and FAQ Page for Superset 1.0 launch (#12499) 2021-01-20 16:27:19 -08:00
.env chore: add non-dev docker-compose workflow (#13143) 2021-02-18 09:55:15 -08:00
.env-non-dev chore: add non-dev docker-compose workflow (#13143) 2021-02-18 09:55:15 -08:00
README.md docs: fix docker config paths (#11703) 2020-11-17 22:00:12 -08:00
docker-bootstrap.sh chore: add non-dev docker-compose workflow (#13143) 2021-02-18 09:55:15 -08:00
docker-ci.sh build: Ephemeral environments for PRs via slash command (#13189) 2021-02-24 10:50:52 -08:00
docker-entrypoint.sh Fixing default Dockerfile entrypoint. Gunicorn needed a few tweaks (#8744) 2019-12-04 13:13:15 -08:00
docker-frontend.sh feat: Option to run npm dev-server (hot reload) while calling docker-compose up (#11238) 2020-11-30 09:35:58 -08:00
docker-init.sh feat: Added setup for running Cypress tests in docker locally (#11207) 2020-12-14 08:06:19 -08:00
frontend-mem-nag.sh Docker-Compose Memory Issue Fix? (#9285) 2020-03-13 09:25:54 -07:00

README.md

Getting Started with Superset using Docker

Docker is an easy way to get started with Superset.

Prerequisites

  1. Docker! link
  2. Docker-compose link

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 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

Initializing Database

The DB 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 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 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.

Resource Constraints

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)