デプロイガイド
NotroTail は Astro の静的出力モードを使用しています。アダプター不要で Vercel・Netlify・Cloudflare Pages にデプロイできます。
Vercel へのデプロイ
- 上の「Deploy with Vercel」ボタンをクリック、または vercel.com でリポジトリをインポート
-
Environment Variables に以下を追加:
NOTION_TOKEN=secret_xxxx NOTION_DATASOURCE_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- 「Deploy」をクリック — ビルド設定は
vercel.jsonが自動で処理
ヒント: Vercel では「Redeploy」ボタンで手動再ビルドできます。
Notion 記事を更新した後は再ビルドが必要です。
Cloudflare Pages へのデプロイ
- 上の「Deploy to Cloudflare」ボタンをクリック、または Cloudflare ダッシュボード で「Workers & Pages」→「Create」→「Pages」→「Connect to Git」
-
リポジトリを選択し、以下のビルド設定を入力:
Framework preset: None Build command: npm run build Build output dir: apps/notro-tail/dist Root directory: (空欄のまま)
-
「Environment variables」に以下を追加:
NOTION_TOKEN=secret_xxxx NOTION_DATASOURCE_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- 「Save and Deploy」をクリック
ヒント: リポジトリに含まれる
wrangler.toml
は Cloudflare Pages のビルド設定を補足しますが、ダッシュボードの設定が優先されます。
Netlify へのデプロイ
- 上の「Deploy to Netlify」ボタンをクリック、または Netlify でリポジトリをインポート
-
netlify.tomlが設定済みのためビルド設定は自動(Base directory・Build command・Publish directory) -
Site settings → Environment variables に
NOTION_TOKENとNOTION_DATASOURCE_IDを追加 - 「Trigger deploy」で再ビルド
ビルドコマンド
| コマンド | 説明 |
|---|---|
npm run build | 型チェック + ビルド(ルートから実行、CI 推奨) |
npm run preview --workspace=notro-tail | ビルド結果をローカルプレビュー(レイアウト確認) |
npm run dev --workspace=notro-tail | 開発サーバー起動(ホットリロード) |
SSR を有効にする(オプション)
デフォルトは静的出力(SSG)です。オンデマンドレンダリングが必要な場合は、
プラットフォームのアダプターをインストールして
astro.config.mjs
のコメントを外してください。
Vercel / Netlify アダプターは静的サイトのまま Image CDN を有効化する用途でも使えますが、
notro-tail の独自 image service(notionImageService)
との兼ね合いに注意してください。
| プラットフォーム | インストール |
|---|---|
| Vercel | npm i @astrojs/vercel |
| Netlify | npm i @astrojs/netlify |
| Cloudflare Workers | npm i @astrojs/cloudflare |
増分ビルドについて
notro の loader() は
last_edited_time
でキャッシュし、変更されたページのみ再取得します。
Notion のプリサイン S3 URL の有効期限切れも自動検出して再取得します。
- 初回ビルド: 全ページを取得
- 2回目以降: 変更・追加・削除されたページのみ差分取得
- S3 URL が期限切れのページは自動的に再取得