Railway/Guides
FastAPI アプリをデプロイする
Railway を使って FastAPI アプリをデプロイする手順を解説します。テンプレート、GitHub、CLI、Dockerfile を使った4つの方法を網羅し、迅速な API サーバーの立ち上げをサポートします。
著者: AIイノベーションズ 阿部隼也(X / Twitter)FastAPI アプリをデプロイする
FastAPI は、Python の標準的な型ヒントに基づいて API を構築するための、モダンで高速なウェブフレームワークです。
このガイドでは、以下の4つの方法で FastAPI アプリを Railway にデプロイする手順を説明します。
- テンプレートからワンクリックでデプロイ
- GitHub リポジトリからデプロイ
- Railway CLI を使ってデプロイ
- Dockerfile を使ってデプロイ
デプロイ方法
1. GitHub リポジトリからデプロイ
最も一般的な方法です。
- プロジェクトの作成: Railway で新しいプロジェクトを作成し、「Deploy from GitHub repo」を選択します。
- リポジトリの選択: デプロイしたい FastAPI プロジェクトの GitHub リポジトリを選択します。
- デプロイ: 「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 の体験を最大限に活用するために、以下のリソースもご覧ください。
PR