# Cloudflare Pages（静的プレビュー）

Platform の `apps/web` + `docs` を Cloudflare Pages に配信する手順です。  
**API（8782）・Karaoke（8790）・CDS3D（8765）はまだローカル** — Pages 上では静的 UI / ドキュメント閲覧が主目的です。

## URL

| 種別 | URL |
|------|-----|
| Production | https://muvic-joy-platform.pages.dev/ |
| Player 例 | https://muvic-joy-platform.pages.dev/apps/web/player.html?work=work_demo_001 |
| Docs | https://muvic-joy-platform.pages.dev/docs/index.html |
| 通しデモ脚本 | https://muvic-joy-platform.pages.dev/docs/demos/stakeholder-p2-contest.md |

（デプロイごとのプレビュー URL は `*.muvic-joy-platform.pages.dev`）

## デプロイ（CLI）

前提: `npx wrangler login` 済み · プロジェクト名 `muvic-joy-platform`

```powershell
cd muvic-joy-platform
npm run pages:deploy
```

中身:

1. `npm run pages:prepare` — `dist-pages/` に `apps/web` · `docs` · ルート index をコピー  
2. `wrangler pages deploy dist-pages --project-name=muvic-joy-platform`

## Git 連携（任意・ダッシュボード）

ダッシュボード → Workers & Pages → `muvic-joy-platform` → Settings → Builds:

- リポジトリ: `jo-oku/muvic-joy-platform`（Private）
- Build command: `npm run pages:prepare`
- Output directory: `dist-pages`
- Production branch: `master`

CLI デプロイと併用可。初回は Git 連携の OAuth で Cloudflare ↔ GitHub を接続。

## Cloudflare Access（推奨）

プレビューを社外に晒さない場合:

1. Pages プロジェクト → Settings → **Access policy**（または Zero Trust → Access）  
2. 自分のメール（Google / one-time PIN）を許可  

無料枠で小チーム向けに十分なことが多いです。

## まだローカルが必要なもの

| 機能 | 理由 |
|------|------|
| `?api=1` Works / ログイン / コンクール | Node API `8782` 未クラウド化 |
| 楽譜タブ録画 · embed | Karaoke `8790` / CDS3D `8765` |
| 動画チャンク · R2 | ローカル uploads · R2 未接続 |

次: Supabase Auth/DB · R2 · API の Workers 化。

## 関連

- インフラ方針: 添付 `ugc_infrastructure_server_architecture_guide.md`  
- GitHub: https://github.com/jo-oku/muvic-joy-platform  
- ローカル 4 サービス: [local-dev-guide.md](local-dev-guide.md)
