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

Fastify アプリをデプロイする

Railway を使って Fastify アプリをデプロイする方法を解説します。テンプレート、GitHub、CLI、Dockerfile を使った4つの方法を網羅し、高速なウェブアプリケーションのデプロイを実現します。

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

Railwayはこちら

Fastify アプリをデプロイする

Fastify は、卓越した開発者体験を提供するために設計された、高性能で低オーバーヘッドな Node.js 用ウェブフレームワークです。

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

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

デプロイ方法

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

最も一般的な方法です。

  1. プロジェクトの作成: Railway で新しいプロジェクトを作成し、「Deploy from GitHub repo」を選択します。
  2. リポジトリの選択: デプロイしたい Fastify プロジェクトの GitHub リポジトリを選択します。
  3. デプロイ: 「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はこちら

PR