Guides - Deploying Flask through the Linode Marketplace

Quickly deploy a Compute Instance with many various software applications pre-installed and ready to use.

Create a Linode account to try this guide with a $100 credit.
This credit will be applied to any valid services used during your first 60 days.

Flask is a quick and light-weight web framework for Python that includes several utilities and libraries you can use to create a web application. It is designed to make getting started quick and easy, with the ability to scale up to support more complex applications.

Deploying a Marketplace App

The Linode Marketplace allows you to easily deploy software on a Compute Instance using the Cloud Manager. See Get Started with Marketplace Apps for complete steps.

  1. Log in to the Cloud Manager and select the Marketplace link from the left navigation menu. This displays the Linode Create page with the Marketplace tab pre-selected.

  2. Under the Select App section, select the app you would like to deploy.

  3. Complete the form by following the steps and advice within the Creating a Compute Instance guide. Depending on the Marketplace App you selected, there may be additional configuration options available. See the Configuration Options section below for compatible distributions, recommended plans, and any additional configuration options available for this Marketplace App.

  4. Click the Create Linode button. Once the Compute Instance has been provisioned and has fully powered on, wait for the software installation to complete. If the instance is powered off or restarted before this time, the software installation will likely fail.

To verify that the app has been fully installed, see Get Started with Marketplace Apps > Verify Installation. Once installed, follow the instructions within the Getting Started After Deployment section to access the application and start using it.

Note
Estimated deployment time: Flask should be fully installed within 2-5 minutes after the Compute Instance has finished provisioning.

Configuration Options

  • Supported distributions: Debian 10
  • Recommended minimum plan: All plan types and sizes can be used.

Getting Started after Deployment

Installed Software

In addition to installing Flask, this Marketplace app installs and configures software to support running Flask in a production environment. Below is a list of the installed software:

  • The NGINX web server is installed with a basic NGINX configuration, located in /etc/nginx/sites-enabled/flask_app, and listening on your Linode’s IP address.
  • An example Flask application is downloaded to your Linode’s /home/flask_app_project directory. If you visit your Linode’s IP address, you will see the example Flask application running and serving boiler plate blog content.
  • Your example Flask application’s environment will be configured with basic settings located in the /etc/config.json file.
  • Gunicorn, a Python WSGI (web server gateway interface) HTTP Server for UNIX, is installed and running. It is used to forward requests from your NGINX web server to your Flask application.
  • Supervisor, a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems, is installed and running on your Linode. Its configuration file can be found in the following location, /etc/supervisor/conf.d/flask_app.conf.
  • The example Flask app’s logs can be found in the following locations, var/log/flask_app/flask_app.out.log and /var/log/flask_app/flask_app.err.log

Removing Default Application

Users may find that they need to remove access to the default Flask application on port 80 to free up space for another application, or to otherwise remove components. The following steps can help to disable and decouple various aspects of the default Flask application included with the Flask Marketplace App:

  • Unlink the default NGINX site for the Flask app:

    sudo unlink /etc/nginx/sites-enabled/flask_app
    
  • Stop the application from being monitored and maintained by supervisorctl:

    sudo supervisorctl stop all
    
  • Remove configuration files for the Flask application:

    sudo rm -rf /home/flask_app_project
    sudo rm /etc/config.json
    
  • Remove the Supervisor configuration files:

    sudo rm /etc/supervisor/conf.d/flask_app.conf
    
Note
Many configuration files can be overwritten to support a new configuration instead of deleted outright. For more information on the default configuration, see our Flask Installation Guide and the Installed Software Section of this guide.

Next Steps

Note
Currently, Linode does not manage software and systems updates for Marketplace Apps. It is up to the user to perform routine maintenance on software deployed in this fashion.

Now that you are familiar with all the software installed on your Linode with the Flask Marketplace app, you can explore the following steps:

More Information

You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.

This page was originally published on


Your Feedback Is Important

Let us know if this guide made it easy to get the answer you needed.