I’m developing a Dash app that makes requests to two Flask-RESTful apps to get data and populate different tables and graphs. I’m planning to deploy these apps on a DigitalOcean droplet where they will be put in Docker containers. I read that the Flask built-in server has some limitations and that it’s suitable for development purposes mainly. My user base is not large (10 people at most) but I wonder if I would run into some problems when my app needs to handle multiple requests. Do I need to use a reverse proxy such as Nginx in front of my Dash app and why?
I read that the Flask built-in server has some limitations and that it’s suitable for development purposes mainly.
That is common misconception with flask, it means that calling server.run
which is called by dash.run_server
is not optimized for production app and you should use a wsgi server instead. You can run the flask server with gunicorn
or waitress
for a production wsgi server.
Please refer to http://flask.pocoo.org/docs/1.0/deploying/ for deployment options. The Self-hosted options
can be built on a docker container.