Railway/Guides
Astro アプリをデプロイする
Astro アプリを Railway にデプロイするための手順を、日本語でわかりやすく解説します。クイックセットアップ、SSR 有効化、Dockerfile 利用など複数の方法を網羅。
著者: AIイノベーションズ 阿部隼也(X / Twitter)Astro アプリをデプロイする
Astro は、速度と DX を両立した最新の静的サイト / ハイブリッドレンダリングフレームワークです。コンポーネント単位で必要最小限の JavaScript だけを送信できるため、表示速度に優れています。
本ガイドでは、Astro アプリを Railway にデプロイする 4 つの方法を紹介します。
- テンプレートからワンクリックデプロイ
- GitHub リポジトリからデプロイ
- Railway CLI からデプロイ
- 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 リポジトリからデプロイ
- Railway ダッシュボードで New Project → Deploy from GitHub repo
- 対象リポジトリを選択し Deploy を押す
- デプロイ完了後、Settings → Networking で Generate 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 で高速・安全なサイトを構築しましょう!
PR