AIイノベーションズ ブログ

【Railway】Astroをデプロイする方法

最終更新日:
阿部隼也
阿部 隼也
AIイノベーションズ 代表取締役社長 | x.com/ai_abe_shunya
リアルタイムアンケートツール: LiveQ

お悩み相談AIチャット: AI相談.com

Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)

Astroアプリをデプロイする方法

Astro は、速度と DX を両立した最新の静的サイトとハイブリッドレンダリングのフレームワークです。

この記事では、Astro アプリを Railway にデプロイする方法を 4 通り紹介します。用途に合わせて選んでください。

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

Astro アプリを作成する

(既に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 を有効にする場合は、まず Node アダプターを追加します。

npm i -D @astrojs/node

続いて、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 内にサーバーファイルが出力されます。


Railway へのデプロイ方法

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

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

CLI からデプロイ

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

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

Railwayダッシュボード
  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 ではなく、ビルドで生成されたサーバーエントリファイル(例: dist/server/entry.mjs)を node で起動してください。


次のステップ

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

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

Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)

リアルタイムアンケートツール: LiveQ

お悩み相談AIチャット: AI相談.com