Railway/Guides
Fastify アプリをデプロイする
Railway を使って Fastify アプリをデプロイする方法を解説します。テンプレート、GitHub、CLI、Dockerfile を使った4つの方法を網羅し、高速なウェブアプリケーションのデプロイを実現します。
著者: AIイノベーションズ 阿部隼也(X / Twitter)Fastify アプリをデプロイする
Fastify は、卓越した開発者体験を提供するために設計された、高性能で低オーバーヘッドな Node.js 用ウェブフレームワークです。
このガイドでは、以下の4つの方法で Fastify アプリを Railway にデプロイする手順を説明します。
- テンプレートからワンクリックでデプロイ
- GitHub リポジトリからデプロイ
- Railway CLI を使ってデプロイ
- Dockerfile を使ってデプロイ
デプロイ方法
1. GitHub リポジトリからデプロイ
最も一般的な方法です。
- プロジェクトの作成: Railway で新しいプロジェクトを作成し、「Deploy from GitHub repo」を選択します。
- リポジトリの選択: デプロイしたい Fastify プロジェクトの GitHub リポジトリを選択します。
- デプロイ: 「Deploy Now」をクリックすると、Railway が自動的に
package.json
を検出し、依存関係をインストールしてアプリケーションをビルド・デプロイします。
デプロイが完了したら、サービスの「Settings」タブにある「Networking」セクションで「Generate Domain」をクリックすると、公開 URL が生成されます。
Note: Railway では、Fastify の
.listen
メソッドのhost
を::
に設定する必要があります。これにより、アプリはパブリックネットワークとプライベートネットワークの両方で利用可能になります。正しく設定しないと、502 エラーが発生する可能性があります。
2. Dockerfile を使う
より詳細な制御が必要な場合は Dockerfile を使用します。
プロジェクトのルートに以下の内容で Dockerfile
を作成します。
# Node.js 18 の alpine 公式イメージを使用
FROM node:18-alpine
# アプリケーションディレクトリを作成・移動
WORKDIR /app
# ローカルのコードをコンテナイメージにコピー
COPY . .
# プロジェクトの依存関係をインストール
RUN npm ci
# コンテナ起動時にウェブサービスを実行
CMD ["npm", "start"]
この Dockerfile
を含むリポジトリをデプロイすると、Railway は自動的に Dockerfile を使ってビルドを行います。
次のステップ
Railway の体験を最大限に活用するために、以下のリソースもご覧ください。
PR