Easily Deploy A Flask Api On Vercel
  • Work
    ,
  • About
    ,
  • Blog
    ,
  • Contact
Get In Touch
  • Home
  • Work
  • About
  • Blog
  • Contact

Developer & Designer

OreoGrapher © 2024
Published on: Tue Jan 07 2025
By - OreoGrapher
deploymentflaskvercel

Easily Deploy a Flask API on Vercel

Easily Deploy a Flask API on Vercel Image

Deploying a Flask API on Vercel is quick and efficient. Vercel provides serverless deployment with seamless scaling for your Python applications. In this guide, we’ll walk you through deploying a simple Flask API using Vercel's configuration.

Step 1: Set Up Your Flask Project

Install Env Package: Make sure you installed python-dotenv or any similar package:

pip install python-dotenv

Environment Setup: setup your .env file for production environment:

SERVER_HOST=<server-ip/domain>
SERVER_PORT=0.0.0.0

In your app.py, you need to add the environment variables and ensure your app runs without any errors in the local setup.

from flask import Flask, jsonify
from dotenv import load_dotenv
import os

load_dotenv()

app = Flask(__name__)

SERVER_HOST = os.getenv("SERVER_HOST")
SERVER_PORT = os.getenv("SERVER_PORT")

@app.route("/api/route", methods=["POST"])
def api_route():
    return jsonify({"message": "API is running"}), 200

if __name__ == "__main__":
    app.run(debug=True, host=SERVER_HOST, port=SERVER_PORT)

Step 2: Prepare Your Project for Deployment

Install Dependencies: Create a requirements.txt file with the following content:

pip install -r requirements.txt

Create vercel.json Configuration: Add a file named vercel.json in the root of your project with the following content:

{
  "version": 2,
  "builds": [
    {
      "src": "app.py",
      "use": "@vercel/python"
    }
  ],
  "routes": [
    {
      "src": "/(.*)",
      "dest": "app.py"
    }
  ]
}

builds: Defines how to build the application.

routes: Ensures all incoming requests are routed to app.py

Step 3: Deploy Your Flask API

Install the Vercel CLI: If you haven’t already, install the Vercel CLI globally

npm install -g vercel

Log In to Vercel: Authenticate using the Vercel CLI:

vercel login

Initialize Your Project: In your project directory, run:

vercel init

Follow the prompts to:

  • Choose your project name.
  • Select your deployment scope (e.g., personal or team).
  • Confirm the project directory.

Deploy to Vercel: Run the following command to deploy your Flask app:

vercel deploy

Or, you can deploy normally (skip step 3) by simply connecting your GitHub repository to the project and deploy! 🚀

Important: Make sure you add Environment Variables in Vercel and that's it. 😎

Leave a Comment

No comments yet

Similar Blogs

(0)