デプロイガイド
Cloudflare Workers と Pages へのデプロイ
概要
EasyStarter は Cloudflare へのデプロイに最適化されています:
- Web: Cloudflare Pages
- Server: Cloudflare Workers
前提条件
- Cloudflare アカウント
- 設定済みの Wrangler CLI
- 作成済みの D1 データベース
クイックデプロイ
# web と server を同時にデプロイ
pnpm run deploy
# 個別にデプロイ
pnpm deploy:web
pnpm deploy:server初回デプロイ
1. 初期デプロイ
pnpm run deploy本番環境の URL が出力されます:
- Web:
https://your-app.pages.dev - Server:
https://your-api.workers.dev
2. 設定の更新
Server (apps/server/wrangler.jsonc):
{
"vars": {
"WEBSITE_URL": "https://your-app.pages.dev",
"SERVER_URL": "https://your-api.workers.dev",
},
}Web (apps/web/.env.production):
VITE_SERVER_URL=https://your-api.workers.dev
VITE_APP_URL=https://your-app.pages.dev3. 再デプロイ
pnpm run deploy環境変数
Server シークレット
Wrangler でシークレットを設定:
cd apps/server
# 認証
npx wrangler secret put AUTH_SECRET
# OAuth
npx wrangler secret put GITHUB_CLIENT_ID
npx wrangler secret put GITHUB_CLIENT_SECRET
npx wrangler secret put GOOGLE_CLIENT_ID
npx wrangler secret put GOOGLE_CLIENT_SECRET
# メール
npx wrangler secret put RESEND_API_KEYデータベースマイグレーション
本番環境の D1 でマイグレーションを実行:
cd apps/server
pnpm db:migrate --remoteカスタムドメイン
- Cloudflare Dashboard → Pages → プロジェクトへ移動
- 「カスタムドメイン」に移動
- ドメインを追加
- 指示に従って DNS レコードを更新
トラブルシューティング
| 問題 | 解決策 |
|---|---|
| CORS エラー | server 設定の WEBSITE_URL を確認 |
| 認証が動作しない | AUTH_SECRET が設定されているか確認 |
| データベースエラー | db:migrate --remote を実行 |