How can I specify an entry point for a Flask API application on DigitalOcean App Platform?

Posted October 7, 2020 1.9k views
DigitalOcean App Platform

I have a Flask API application and need to be able to specify the entry point.

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
3 answers

There’s two ways:

Using a Procfile in your repository root:

web: gunicorn --worker-tmp-dir /dev/shm myproject:app

Or, specify a custom run command found under “Components > Commands” tab for your app.

Also see @kamaln7’s post here:

by Justin Ellingwood
by Kathleen Juell
In this guide, we will be setting up a simple Python application using the Flask microframework on Ubuntu 18.04. The bulk of this article will be about how to set up the uWSGI application server to launch the application and how to configure Nginx to act as a front-end reverse proxy.

Per the official Flask recommendation, you should use a WSGI server to run your app. Once configured and added to requirements.txt or Pipfile, set your app’s run command according to the WSGI server’s usage. For example, with Waitress:

waitress-serve --call 'flaskr:create_app'

Or with Gunicorn:

gunicorn --worker-tmp-dir /dev/shm myproject:app