🎃

FastAPIをVercel上でデプロイする

に公開

はじめに

FastAPIをvercel上までデプロイするまでの流れとサンプルデータの記録です。
vercelこれから触る人や、FastAPI使って作ったけどデプロイ先をどこにしようかと試している人向けかと思います。
vercelは無料でかなり使えますので、ぜひお試しください。(configの書き方さえわかればかなり簡単だと思います)

実際にデプロイした、サンプルページ

https://fast-api-vercel-murex.vercel.app/

サンプルページ
サンプルページはこんな感じで見えるはずです
サンプルページAPI
API用ドキュメント

感想

無料で簡単にデプロイできるvercelはありがあたい限り。
自分の職種がら全く触ってこなかった分野なので、まぁまぁ楽しいです。
恐らくゲーム会社や映像業界でも、独自のwebサービスなどを社内で持っていると思いますが、
触っておくことで実験的なものを簡単に広めたりできるのでいいと思います。
(パッと思いつくのは、何かしらの巨大なプロセスの監視用とかには最悪役に立つはずです...)

開発環境

  • macOS Sequoia 15.5
  • VsCode
  • zsh 5.9 (arm64-apple-darwin24.0)

テンプレート

こちらからVercel上へクローンして簡単にデプロイすることも可能です。
Deploy with Vercel

事前インストール必要なもの

  • Python 3.12 (vercelの最新が3.12対応のため - 2025/6/3)
  • uv (インストールはこちら)
  • Vercel CLI (インストールはこちら)

注意

ローカル上でセットアップから起動

  1. ローカルへクローンする

    git clone https://github.com/testkun08080/FastAPI-vercel.git
    
  2. 仮想環境の構築

    cd FastAPI-vercel
    uv venv -p 3.12
    uv pip install -r requirements.txt
    
  3. 起動

    uv run -m api.app.main
    

Pytestを使ったテスト

  1. テスト用にモジュールをインストール
    uv pip install -r requirements_test.txt
    
  2. Pytest実行
    uv run pytest --html=report.html --self-contained-html --log-level=INFO
    

Vercel CLI を使ってテストからデプロイ

  1. ローカルでテスト

    vercel dev
    
  2. vercelへデプロイ(プレビューとして)

    vercel
    
  3. 、vercelへデプロイ(プロダクトとして)

    vercel --prod
    

まとめ

とにかく素早くデプロイできるサービスは非常にありがたい。
恐らく今後、オープンソースのプロジェクトで必要な際はを立ち上げるときは使うと思います。
まあ他のredenr/etc...も触っていこうと思います。
近々、React-Viteのvercel上でデプロイや、React-Vite with FastAPIも記事にしようと思います。

それではまた!

Discussion