2

I'm sorry for this trivial question... I have read the manual and have searched the internet for an answer. I'm able to change the contents of the superset/config.py file using the "docker-compose up" that uses the docker-compose.yml file which is intended for development purposes. The changes in the host superset/config.py file get deployed to the container of superset_app.

But when I try to launch superset using

docker-compose -f docker-compose-non-dev.yml up

the changes to the host superset/config.py file don't get deployed.

What can I do? Without this, then there is no way to setup important things like redis cache, permissions, and much more... is it impossible to tune the configuration of Superset when launched for production?

I know the docs say that if one wants to view changes to Superset's configuration one must use docker-compose.yml... but what is the best way to deploy Superset for production and still being able to modify the deployed superset/config.py file?

user2723476
  • 95
  • 1
  • 1
  • 8

1 Answers1

1

The typical workflow when deploying with docker-compose is not to change config.py, leave that with its defaults. Instead, create a new file called superset_config.py or superset_config_docker.py - either should work - in the directory /docker/pythonpath_dev/ and override any values of config.py there that you want changed. See this page, which is oddly separate from the rest of the docs: https://github.com/apache/superset/tree/master/docker#configuration

As to why your changes to config.py get picked up with the dev docker-compose file only, that's an interesting question. My guess is the difference in the x-superset-volumes part of the two files. Looks like the dev file is mounting directories as volumes that the non-dev one isn't?

Sam Firke
  • 21,571
  • 9
  • 87
  • 105