【Railway】Fastifyをデプロイする方法
Railway を使って Fastifyアプリをデプロイする方法方法を解説します。テンプレート、GitHub、CLI、Dockerfile を使った4つの方法を網羅し、高速なウェブアプリケーションのデプロイを実現します。
Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)
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 の体験を最大限に活用するために、以下のリソースもご覧ください。
Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)