AIイノベーションズ ブログ

【Railway】FastAPIをデプロイする方法

最終更新日:
阿部隼也
阿部 隼也
AIイノベーションズ 代表取締役社長 | x.com/ai_abe_shunya
リアルタイムアンケートツール: LiveQ

お悩み相談AIチャット: AI相談.com

Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)

FastAPIアプリをデプロイする方法

FastAPI は、Python の標準的な型ヒントに基づいて API を構築するための、モダンで高速なウェブフレームワークです。

この記事では、以下の4つの方法で FastAPI アプリを Railway にデプロイする手順を説明します。

  1. テンプレートからワンクリックでデプロイ
  2. GitHub リポジトリからデプロイ
  3. Railway CLI を使ってデプロイ
  4. Dockerfile を使ってデプロイ

デプロイ方法

1. GitHub リポジトリからデプロイ

最も一般的な方法です。

  1. プロジェクトの作成: Railway で新しいプロジェクトを作成し、「Deploy from GitHub repo」を選択します。
  2. リポジトリの選択: デプロイしたい FastAPI プロジェクトの GitHub リポジトリを選択します。
  3. デプロイ: 「Deploy Now」をクリックすると、Railway が自動的に requirements.txt を読み込み、依存関係をインストールしてアプリケーションをビルド・デプロイします。

デプロイが完了したら、サービスの「Settings」タブにある「Networking」セクションで「Generate Domain」をクリックすると、公開 URL が生成されます。

Note: FastAPI アプリは、railway.json ファイル内の startCommand で定義された Hypercorn サーバー経由で実行されます。Railway は railway.toml または railway.json ファイルを使って、デプロイ設定をコードと一緒に管理することを容易にします。

2. Dockerfile を使う

より詳細な制御が必要な場合は Dockerfile を使用します。

プロジェクトのルートに以下の内容で Dockerfile を作成します。

# Python 3 の alpine 公式イメージを使用
FROM python:3-alpine
 
# アプリケーションディレクトリを作成・移動
WORKDIR /app
 
# ローカルのコードをコンテナイメージにコピー
COPY . .
 
# プロジェクトの依存関係をインストール
RUN pip install --no-cache-dir -r requirements.txt
 
# コンテナ起動時にウェブサービスを実行
CMD ["hypercorn", "main:app", "--bind", "::"]

この Dockerfile を含むリポジトリをデプロイすると、Railway は自動的に Dockerfile を使ってビルドを行います。


次のステップ

Railway の体験を最大限に活用するために、以下のリソースもご覧ください。

Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)

リアルタイムアンケートツール: LiveQ

お悩み相談AIチャット: AI相談.com