Skip to content

Latest commit

 

History

History
63 lines (39 loc) · 3 KB

host-a-flask-server.md

File metadata and controls

63 lines (39 loc) · 3 KB

Setup a Flask server

WayScript allows you to configure your Lair to host a running microservice in minutes. Follow this guide to setup a simple Flask app in your Lair.

{% embed url="https://www.youtube.com/watch?v=qON6a6r-TAU" %}

Create app.py or load Flask files

Use the boilerplate code below to create a app.py file in your Lair’s root directory. Or if you have an existing Flask project, copy or clone your project files into your Lair’s directory. See File system for more details on how to manipulate files in your workspace file system.

Boilerplate app.py

from flask import Flask

app = Flask(__name__)

@app.route('/', methods=['GET','POST'])
def hello_world():
    return 'Hello World'

if __name__ == '__main__':
    app.run()

Add packages to requirements.txt

Create a requirements.txt file in your Lair’s root directory and specify the flask package. You can install the flask package via pip in your Lair Terminal. You can also specify any additional dependencies your app requires. See Hosted environments for more details.

pip install flask
pip freeze > requirements.txt

Add flask to your requirements.txt file

Configure deploy trigger

Open your Lair’s .triggers file and add a new deploy trigger. Create a name for your trigger and input the following run command and port number 8080 (or modified command and port number based on your app requirements). See Triggers for more details.

flask run --port 8080 --host 0.0.0.0

Example Flask Trigger Setup

Test app in development environment

Press “Test” to execute the run command and start your web server process (see Processes for more details). Navigate to the *.wayscript.cloud endpoint generated to see your Flask app in action!

{% hint style="success" %} Set FLASK_ENV=development to enable hot reload of your server process when modifying your app’s files. {% endhint %}

Deploy to production environment

Once you have finished testing, press “Deploy” to create a production environment for your Flask app. Select <Lair_name>.prod in the Lair selector menu and view the on deploy trigger to access your app’s production endpoint. See Hosted environments for more details.

{% hint style="warning" %} By default, your Lair's endpoints are protected against unauthenticated requests. See endpoints.md on how to public expose your endpoints or authenticate using your application key. {% endhint %}