AIイノベーションズ
Railway/Guides

FastAPI アプリをデプロイする

Railway を使って FastAPI アプリをデプロイする手順を解説します。テンプレート、GitHub、CLI、Dockerfile を使った4つの方法を網羅し、迅速な API サーバーの立ち上げをサポートします。

著者: AIイノベーションズ 阿部隼也X / Twitter

Railwayはこちら

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はこちら

PR