---
title: "環境変数一覧"
---

## 概要

コードベース（`scripts/`・`lib/`・`app/`）内で実際に参照されている環境変数を横断的に棚卸しした一覧。`batch-design.mdx` の各バッチ本文セクション（W1〜W14・O1〜O3）にも環境変数テーブルが存在するが、それらは個別バッチの実行に必要な変数のみを記載しており、バッチをまたいだ使われ方（同じ変数が複数バッチ・アプリ本体で共有されているか等）は分からない。本ドキュメントはその横断的な索引として、各変数が「どこで・どう使われているか」を一覧化する。

個別バッチの詳細な実行タイミング・処理フローは `batch-design.mdx` を参照。本ドキュメントは変数名・必須性・GitHub Actions への登録有無・参照元の一覧に留める。

## 分類

| 分類 | 説明 |
| --- | --- |
| バッチ/ワークフロー用 | GitHub Actions が `scripts/workflow/` 配下のスクリプトに `env:` で渡す変数。`batch-design.mdx` の該当セクションに詳細記載あり |
| ローカル専用 | コード上は機能するが、GitHub Actions の `workflow_dispatch` 入力や `secrets`/`vars` に配線されておらず、ローカル実行（`.env.local` 等）でのみ指定可能な変数 |
| 手動スクリプト用 | `scripts/console/`・`scripts/patch/` 配下のスクリプトがローカル実行時に参照する変数。GitHub Actions を介さない |
| アプリ実行時用 | Vercel にデプロイされた Next.js アプリ本体（`app/`・`lib/`）が実行時に参照する変数。Vercel プロジェクトの環境変数として設定する |

同一変数が複数分類にまたがる場合は、主たる用途の表に記載し、備考欄に他の参照元を注記する。

## 1. バッチ/ワークフロー用

| 変数名 | GitHub Actions登録 | 必須 | 参照バッチ | 備考 |
| --- | --- | --- | --- | --- |
| `SEARCH_API_KEY` | Repository secret | ○ | W1 | 未設定時はドライラン |
| `BLOB_READ_WRITE_TOKEN` | Repository secret | ○ | W1, W2, W3, W4, W5, W7, W8, W10, W11, W14, O1, O2 | アプリ実行時（`lib/blob.ts` 等）にも使用 |
| `MEMBERS_BLOB_URL` | Repository secret | ○ | W1, W3, W4, W5, W6, W8, W11, W12, W13, W14, O3 | アプリ実行時にも使用 |
| `OG_SYNC_WEEKDAYS` | Repository variable | - | W1, W4, W8 | 非機密な設定値のため variables に登録（#1347） |
| `WEB_SEARCH_SYNC_WEEKDAYS` | Repository variable | - | W1 | 同上（#1347） |
| `GITHUB_EVENT_NAME` | GitHub Actions デフォルト環境変数（自動注入） | ○ | W1 | secrets/variables ではなく、すべてのステップに自動的に注入される組み込みの環境変数のため `env:` での明示的な受け渡しは不要。Ameba同期ステータスの定期実行/手動実行判定に使用（#1387） |
| `DATABASE_URL` | Repository secret | ○ | W2, W6, W7, W8, W9, W10, W11, W12, W13, O2, O3 | アプリ実行時（`lib/prisma.ts`）にも使用。Prisma が内部で読むため、多くのバッチスクリプトは直接 `process.env` 参照しない |
| `DISCOGRAPHY_STATUS_BLOB_URL` | Repository secret | ○ | W2 | `/sync-status` ページ表示用 |
| `YOUTUBE_API_KEY` | Repository secret | - / ○ | W2, W7, W8 | W2 では未設定時スキップ、W7/W8 では必須 |
| `PLAYLISTS_BLOB_URL` | Repository secret | - / ○ | W2, W3, O2 | W2/O2 では任意、W3 では必須 |
| `UNITS_BLOB_URL` | Repository secret | ○ | W2, O3 | ユニット照合・同ユニットエッジ生成に使用 |
| `REFETCH_MISSING_ARTIST_CREDITS` | workflow_dispatch 入力（`refetch_artist_credits`） | - | W2 | secrets/variables ではなく手動実行時の入力値 |
| `RELEASES_BLOB_URL` | Repository secret | - / ○ | W3, W10, O1 | W10 では `GENIUS_LINKS_STATUS_BLOB_URL` のフォールバック導出元 |
| `INSTAGRAM_AUTH_STATE` | Repository secret | ○ | W4 | Playwright 認証状態（JSON文字列） |
| `RAPIDAPI_KEY` | Repository secret | ○ | W5 | 未設定時はエラーで終了 |
| `GENIUS_ACCESS_TOKEN` | Repository secret | ○ | W10 | |
| `GENIUS_LINKS_STATUS_BLOB_URL` | Repository secret | - | W10 | 未設定時は `RELEASES_BLOB_URL` から導出 |
| `TWITTERAPI_IO_KEY` | Repository secret | ○ | W11, W12 | |
| `MORNING_ONAIR_MAX_PAGES` | ワークフロー内ハードコード（`"20"`） | - | W11 | secrets/variables ではなく `.github/workflows/collect-onair-morning.yml` に直接記述 |

> **注意**: `MAIL_SERVER`・`MAIL_PORT`・`MAIL_USERNAME`・`MAIL_PASSWORD`・`MAIL_TO`（W14 で使用）はコード上 `process.env` から直接参照されず、GitHub Actions のメール送信ステップ（`dawidd6/action-send-mail`）が直接使用するため、本ドキュメントの棚卸し対象（コード参照ベース）には含めない。詳細は W14「メール送信設定」を参照。

## 2. ローカル専用（GitHub Actions未配線）

| 変数名 | 必須 | 参照元 | 用途 |
| --- | --- | --- | --- |
| `REFETCH_ALL_SINGLES` | - | `scripts/workflow/sync-discography.ts` | `1` 指定で全シングルの全エディションを強制再取得。W2 の `workflow_dispatch` 入力には未配線 |
| `DRY_RUN` | - | `scripts/patch/patch-blog-history-pubdates.ts` | 設定するとBlobへの書き込みをスキップし変更内容のみ表示 |
| `TWITTERAPI_IO_PAGE_INTERVAL_MS` | - | `scripts/lib/twitterapi-client.ts` | twitterapi.io のページ取得間隔（ミリ秒）を調整。W11/W12 が内部で使用するが未配線、デフォルト値で動作 |

## 3. 手動スクリプト用（scripts/console・scripts/patch）

| 変数名 | 必須 | 参照元 | 用途 |
| --- | --- | --- | --- |
| `APP_URL` | - | `scripts/patch/patch-*.ts`（member-colors・instructor・leader-generations・member-joining-routes・member-nicknames）・`scripts/patch/seed-ameba-sync-status.ts` | パッチ実行後のキャッシュ再検証リクエスト送信先（`app/api/revalidate` のベースURL） |
| `REVALIDATE_TOKEN` | - | 同上 + `app/api/revalidate/route.ts` | キャッシュ再検証APIの認証トークン。多くのバッチワークフローも同名の secret から `curl` で直接このAPIを呼び出す |

## 4. アプリ実行時用（Vercelデプロイ環境変数）

| 変数名 | 必須 | 参照元 | 用途 |
| --- | --- | --- | --- |
| `COMPARISON_INDEX_BLOB_URL` | - | `lib/blob.ts` | 曲対比インデックス（`comparison-index.json`）のBlob URL。O1実行後に設定 |
| `TRACK_COMPARISON_MAP_BLOB_URL` | - | `lib/blob.ts` | `track-comparison-map.json` のBlob URL。O1実行後に設定 |
| `MEMBER_PLAYLIST_INDEX_BLOB_URL` | - | `lib/blob.ts` | プレイリスト集計インデックス（メンバー別）のBlob URL。W3実行後に設定 |
| `TRACK_PLAYLIST_INDEX_BLOB_URL` | - | `lib/blob.ts` | プレイリスト集計インデックス（トラック別）のBlob URL。W3実行後に設定 |
| `INSTAGRAM_DAILY_NEW_POSTS_BLOB_URL` | - | `lib/blob.ts` | Instagram新着投稿データのBlob URL |
| `INSTAGRAM_SYNC_STATUS_BLOB_URL` | - | `lib/blob.ts` | Instagram同期状況データのBlob URL |
| `DESKTOP_MODE` | - | `next.config.ts`, `app/**`, `desktop/*.ts` | `1` の場合デスクトップアプリ向け standalone ビルドとして動作。`desktop/` 配下のビルド・起動スクリプトが自動設定 |
| `LOG_LEVEL` | - | `lib/logger.ts` | ログ出力レベルの制御 |
| `NODE_ENV` | - | `lib/prisma.ts` | Node.js / Next.js 標準の実行環境変数（`development` / `production` 等）。Prisma クライアントの初期化分岐に使用 |

## 改訂履歴

| 版 | 更新日 | 変更内容 |
| --- | --- | --- |
| 1.1 | 2026-07-20 | `GITHUB_EVENT_NAME`（W1、GitHub Actions 自動注入のワークフロー種別）を追加（#1387） |
| 1.0 | 2026-07-20 | 初版作成。コードベース全体の環境変数32件を棚卸しし、バッチ/ワークフロー用・ローカル専用・手動スクリプト用・アプリ実行時用の4分類で一覧化（#1363） |
