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

Astro アプリをデプロイする

Astro アプリを Railway にデプロイするための手順を、日本語でわかりやすく解説します。クイックセットアップ、SSR 有効化、Dockerfile 利用など複数の方法を網羅。

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

Railwayはこちら

Astro アプリをデプロイする

Astro は、速度と DX を両立した最新の静的サイト / ハイブリッドレンダリングフレームワークです。コンポーネント単位で必要最小限の JavaScript だけを送信できるため、表示速度に優れています。

本ガイドでは、Astro アプリを Railway にデプロイする 4 つの方法を紹介します。

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

Astro アプリを作成する

既にプロジェクトがある場合はこの章をスキップしてください。

npm create astro@latest astro-app

プロンプトでは以下を選択する例を示します。

  • テンプレート: minimal
  • TypeScript: strict
  • Package manager: npm

ローカルでアプリを実行

cd astro-app
npm install
npm run dev

ブラウザで http://localhost:4321 を開き、アプリが表示されれば準備完了です。


サーバーサイドレンダリング (SSR) の有効化 (オプション)

Astro では静的出力だけでなく SSR もサポートしています。SSR を有効にする場合は astro.config.mjs に以下を追加します。

import { defineConfig } from "astro/config";
import node from "@astrojs/node";

export default defineConfig({
  output: "server",
  adapter: node({ mode: "standalone" }),
});

ビルドコマンドは同じ npm run build ですが、dist フォルダではなく dist/astro にサーバーファイルが出力されます。


Railway へのデプロイ方法

テンプレートからワンクリックデプロイ

Railway のテンプレートマーケットプレイスに Astro テンプレートが用意されています。ボタンをクリックするだけでデプロイが始まります。

CLI からデプロイ

railway init    # 初期化
railway up      # デプロイ
railway domain  # 公開 URL 発行

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

  1. Railway ダッシュボードで New ProjectDeploy from GitHub repo
  2. 対象リポジトリを選択し Deploy を押す
  3. デプロイ完了後、Settings → NetworkingGenerate Domain

Dockerfile を使ったデプロイ

# Build Stage
FROM node:lts-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

# Serve Stage
FROM node:lts-alpine
WORKDIR /app
COPY --from=build /app/dist ./dist
RUN npm i -g serve
CMD ["serve", "-s", "dist", "-l", "${PORT}"]

Astro の SSR を使用する場合は、上記 Serve ではなく node dist/astro/entry.mjs などサーバーファイルを直接起動してください。


次のステップ

  • イメージ最適化@astrojs/image で画像を自動最適化
  • CMS 連携 – Contentful や Sanity などヘッドレス CMS と組み合わせる
  • Edge Functions – 低レイテンシ実行を実現

Astro × Railway で高速・安全なサイトを構築しましょう!

Railwayはこちら

PR