plotly / dash-image-processing

Dash Demo App - Image Processing App
http://dash-image-processing.herokuapp.com
MIT License
86 stars 38 forks source link

Migration to DDS #4

Open xhluca opened 5 years ago

xhluca commented 5 years ago

This is an issue discussing how to migrate this app to DDS.

At the moment, this uses 2 Heroku features:

At the moment the S3 storage is directly created by heroku. In order to migrate to DDS, we will need to create a bucket (using plotly's credentials), and update the credentials of the app using that bucket. We then will need to create a DDS deployment and setup Redis.

xhluca commented 5 years ago

@nicolaskruchten @cldougl I'll work on this one as soon as I finish the docs for cytoscape, unless anyone would like to pick it up as a practice, e.g. peter).

lmpan commented 5 years ago

Hi, I cloned the repo and the app does not run as is. I got the following error.

Invalid type for parameter Bucket, value: None, type: <class 'NoneType'>, valid types: <class 'str'>

Could you please provide some guidance (or point to soem resource) on how to set up S3 Bucketeer and Heroku Redis? Thank you very much!

xhluca commented 5 years ago

Hi @lmpan, I believe Heroku has some tutorial in setting up Bucketeer and Redis. However, this demo will be migrated soon to DDS, our in-house platform for hosting Dash apps, since the current Heroku setup is rather complicated and beginner unfriendly. With DDS, the process will become a lot simpler, since Redis is integrated by default.

ycaokris commented 5 years ago

Updates about this issue:

https://github.com/plotly/dash-image-processing/pull/7 allows using interoperable key from GCP bucket with boto3 python client, so both s3 and gcp bucket are supported for now with only two line of edits(https://github.com/plotly/dash-image-processing/blob/b1a808984285478daa5f7b58e652d4c6b83a20d7/app.py#L56 and https://github.com/plotly/dash-image-processing/blob/b1a808984285478daa5f7b58e652d4c6b83a20d7/app.py#L311) , and switch of .env credentials. Changes will be added to README.