Deploying Flask through the Linode Marketplace

Traducciones al Español
Estamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
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 the Flask Marketplace App

The Linode Marketplace allows you to easily deploy software on a Linode using the Linode Cloud Manager.

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

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

  3. Fill out all required Options for the selected app as well as any desired Advanced Options (which are optional). See the Configuration Options section for details.

  4. Complete the rest of the form as discussed within the Getting Started > Create a Linode.

  5. Click the Create Linode button. Once the Linode has provisioned and has fully powered on, wait for the software installation to complete. If the Linode is powered off or restarted before this time, the software installation will likely fail. To determine if the installation has completed, open the Linode’s Lish console and wait for the system login prompt to appear.

  6. Follow the instructions within the Getting Started After Deployment section.

Software installation should complete within 2-5 minutes after the Linode has finished provisioning.

Configuration Options

For advice on filling out the remaining options on the Create a Linode form, see Getting Started > Create a Linode. That said, some options may be limited or recommended based on this Marketplace App:

  • 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.


Join the conversation.
Read other comments or post your own below. Comments must be respectful, constructive, and relevant to the topic of the guide. Do not post external links or advertisements. Before posting, consider if your comment would be better addressed by contacting our Support team or asking on our Community Site.