【Railway】Angularをデプロイする方法
この記事では、Angular アプリを Railway にデプロイする方法を解説します。クイックセットアップ、Caddy サーバー構成、ワンクリックデプロイ、Dockerfile など複数のデプロイ手法を網羅しています。
Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)
Angularアプリをデプロイする方法
Angular は Google が開発するフロントエンドフレームワークです。大規模開発でも使われており、堅牢で拡張しやすい点が特長です。
どの方法が合うか選びやすいよう、Railway へのデプロイ手段を4つにまとめました。
- テンプレートからワンクリックデプロイ
- GitHub リポジトリからデプロイ
- Railway CLI からデプロイ
- Dockerfile を使ったデプロイ
Angular アプリを作成する
既に手元または GitHub に Angular プロジェクトがある場合は、この章をスキップして次章「Angular アプリを Railway にデプロイする」へ進んでください。
Angular CLI がインストールされていることを確認したうえで、以下のコマンドを実行します。
ng new gratitudeapp次のように入力するとスムーズに進められます。
- スタイルシート:
CSS - サーバーサイドレンダリング (SSR) / SSG:
Yes - ルーティング:
Yes
ローカルで Angular アプリを起動する
cd gratitudeapp
npm startブラウザで http://localhost:4200 を開き、アプリが動作することを確認します。
start スクリプトの修正
Railway は build と start の npm スクリプトを用いてビルドと実行を自動化します。SSR を有効にしている場合、ビルド後に生成される dist/gratitudeapp/server/server.mjs を実行する必要があります。package.json を次のように更新してください。
{
"scripts": {
"ng": "ng",
"dev": "ng serve",
"build": "ng build",
"watch": "ng build --watch --configuration development",
"test": "ng test",
"start": "node dist/gratitudeapp/server/server.mjs"
}
}Angular アプリを Railway にデプロイする
Railway には複数のデプロイ方法があります。
最短で試したいときはテンプレート、細かな制御が必要なら Dockerfile、というように用途で選べます。
GitHubリポジトリからの自動デプロイも非常にラクでおすすめです。
テンプレートからワンクリックデプロイ
Railway テンプレートマーケットプレイスには、Angular + Caddy 構成のテンプレートが用意されています。「Deploy on Railway」ボタンをクリックするだけで、ビルド設定や実行環境が自動で構築されます。
デプロイ後は Eject して自分の GitHub リポジトリにフォークしておくと管理しやすいです。
CLI からデプロイ
公開 URL 生成
railway domainデプロイ
railway upプロジェクト初期化
railway initRailway CLI のインストールとログイン
npm i -g @railway/cli
railway loginGitHub リポジトリからデプロイ

- Railway ダッシュボードで New Project → Deploy from GitHub repo を選択
- 対象リポジトリを指定して Deploy
- デプロイ完了後、Settings → Networking で Generate Domain をクリック
Dockerfile を使う
以下は最小構成の例です。ビルドステージと実行ステージを分けて、Caddy で静的ファイルを配信します。
# Build Stage
FROM node:lts-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
# Run Stage
FROM caddy:latest
WORKDIR /app
COPY --from=build /app/dist ./dist
COPY Caddyfile ./Caddyfile
CMD ["caddy", "run", "--config", "Caddyfile", "--adapter", "caddyfile"]次のステップ
- データベースサービスを追加 – Postgres などのマネージド DB をワンクリックで追加できます。
- モニタリング – ビルド/デプロイログやリソース使用量をダッシュボードで確認できます。
Angular アプリのデプロイは以上です。スムーズな運用に役立ててください。
Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)