xiaohanyu commented on issue #4193: Init docker for local development 
environment.
URL: 
https://github.com/apache/incubator-superset/pull/4193#issuecomment-358903565
 
 
   Hi, @mistercrunch ,
   
   Actually, we have used docker based workflow for developing and deploying 
customized superset for more than half a year and it works great in both 
developers local machine and for simple deployment just use a modified 
`docker-compose.yml` in single machine for normal use. So I propose this PR 
just want to see if anybody have some interest and get some suggestions.
   
   For the documentation, I can provide more if you think this is OK, and I'll 
explain some details about the basic workflow for development, some tips to 
make docker behaves like your local machine without too much code copy and 
folder share, and real experience about how to use docker-compose to manage 
different superset environment, like from local development environment, to 
testing, staging, and finally production environment.
   
   The reason about why I contribute this PR to the main repo is I think there 
should be a faster way to newbies to set up an dev environment for superset. 
With this PR, new comers can just get a workable/reproducable superset dev 
workflow in minutes instead of hours. So I enable port mapping, like exposing 
redis and postgres port directly from docker to host, so you can use most of 
your familiar redis/postgres to facilitate the dev process.
   
   And about `superset_config.py`, when I propose this PR, I don't want to 
modify the default `config.py`, so I put some example code to 
`superset_config.py` and do a `git add -f`, yeah, this is intentional. And we 
think that use environment variables to configure and inject config to runtime 
system is a very good idea from https://12factor.net/config. Or I think I can 
put the code to `config.py` directly, first check whether the necessary 
environment exists, if not, then return to the original default way in 
`config.py`.
   
   About whether we should put `docker-compose.yml` to another repo, I think 
yes, just like many other project does. And I can provide `docker-compose` 
settings for production environment if you like. But right now, for simplicity, 
I think a simple `docker-compose.yml` in main repo for developers to get on 
board is enough.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to