Deploying Flask with One-Click Apps
Updated by Linode Contributed by Linode
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.
Deploy a Flask One-Click App
Linode’s One-Click App Marketplace allow you to easily deploy software on a Linode using the Linode Cloud Manager. To access Linode’s One-Click App Marketplace:
Log in to your Linode Cloud Manager account.
From the Linode dashboard, click on the Marketplace button in the left-hand navigation menu.
The Linode creation page will appear, with the One-Click and Marketplace tabs pre-selected.
Under the Select App section, select the app you would like to deploy:
Once you have selected the app, proceed to the app’s Options section and provide values for the required fields.
Linode Options
After providing the app specific options, provide configurations for your Linode server:
Configuration | Description |
---|---|
Select an Image | Debian 9 is currently the only image supported by Flask One-Click Apps, and it is pre-selected on the Linode creation page. Required. |
Region | The region where you would like your Linode to reside. In general, it’s best to choose a location that’s closest to you. For more information on choosing a DC, review the How to Choose a Data Center guide. You can also generate MTR reports for a deeper look at the network routes between you and each of our data centers. Required. |
Linode Plan | Your Linode’s hardware resources. Flask is lightweight and does not require high system resources. You can select any Linode plan that will support the amount of site traffic you expect for your Flask app. You can always resize your Linode to a different plan later if you feel you need to increase or decrease your system resources. Required. |
Linode Label | The name for your Linode, which must be unique between all of the Linodes on your account. This name will be how you identify your server in the Cloud Manager’s Dashboard. Required. |
Add Tags | A tag to help organize and group your Linode resources. Tags can be applied to Linodes, Block Storage Volumes, NodeBalancers, and Domains. |
Root Password | The primary administrative password for your Linode instance. This password must be provided when you log in to your Linode via SSH. It must be at least 6 characters long and contain characters from two of the following categories: lowercase and uppercase case letters, numbers, and punctuation characters. Your root password can be used to perform any action on your server, so make it long, complex, and unique. Required. |
When you’ve provided all required Linode Options, click on the Create button. Your Flask app will complete installation anywhere between 2-5 minutes after your Linode has finished provisioning.
Getting Started after Deployment
Installed Software
In addition to installing Flask, this One-Click 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
Next Steps
NoteCurrently, Linode does not manage software and systems updates for One-Click 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 One-Click app, you can explore the following steps:
- Connect to your Linode via SSH. You will need your Linode’s root password to proceed. You can explore the installed programs and update any configurations as needed. Consider following the steps in the Securing Your Server guide to continue harding your Linode’s security.
- Read through our Deploy a Flask Application on Ubuntu guide, which takes a deeper dive into the example Flask app that is deployed by the One-Click app.
- Visit our Create a GIS Application using Flask, Stadia Maps, and MongoDB guide to learn how to create your own GIS application.
- Consult our How To Create an OAuth App with the Linode Python API Library to learn how to develop a Flask app using Linode’s API to automate creating Linode resources.
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.
Join our Community
Find answers, ask questions, and help others.
This guide is published under a CC BY-ND 4.0 license.