App Platform is a Platform-as-a-Service (PaaS) offering that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure.
The Python buildpack applies to this sample app. See the Python buildpack overview for more information about its configuration options and limitations.
This page is automatically generated from https://github.com/digitalocean/sample-flask/blob/main/README.md.
This guide describes how to use DigitalOcean App Platform to run a sample Flask application.
Note: Following these steps may result in charges for the use of DigitalOcean services.
Click the following button to deploy the app to App Platform. If you are not currently logged in with your DigitalOcean account, this button prompts you to to log in.
Note that, for the purposes of this tutorial, this button deploys the app directly from DigitalOcean’s GitHub repository, which disables automatic redeployment since you cannot change our template. If you want automatic redeployment or you want to change the sample app’s code to your own, we instead recommend you fork our repository.
After forking the repo, you can view the same README in your own GitHub org; for example, in
https://github.com/<your-org>/sample-flask. To deploy the new repo, visit the control panel and click the Create App button. This takes you to the app creation page. Under Service Provider, select GitHub. Then, under Repository, select your newly-forked repo. Ensure that your branch is set to main and Autodeploy is checked on. Finally, click Next.
After clicking the Deploy to DigitalOcean button or completing the instructions above to fork the repo, follow these steps:
After, you should see a “Building…” progress indicator. You can click View Logs to see more details of the build. It can take a few minutes for the build to finish, but you can follow the progress in the Deployments tab.
Once the build completes successfully, click the Live App link in the header and you should see your running application in a new tab, displaying the home page.
If you forked our repo, you can now make changes to your copy of the sample app. Pushing a new change to the forked repo automatically redeploys the app to App Platform with zero downtime.
Here’s an example code change you can make for this app:
templates/index.html and replace “Welcome to your new Flask App!” with a different greeting
main branch. Normally it’s a better practice to create a new branch for your change and then merge that branch to
main after review, but for this demo you can commit to the
main branch directly.
To learn more about App Platform and how to manage and update your application, see our App Platform documentation.
When you no longer need this sample application running live, you can delete it by following these steps:
Note: If you do not delete your app, charges for using DigitalOcean services will continue to accrue.
The default version for Python is currently 3.9.4. To use a different Python version, create a
runtime.txt file at the top level of your repository and include a line with the version of Python you want to use using the format
python-<MAJOR.MINOR.PATCH>. For example, to use Python 3.8.8, your
runtime.txt would look like this:
gunicorn --worker-tmp-dir /dev/shm project.wsgi, where
project is the name of your project.