Next.js + Supabase の開発環境
- Next.js 16 (App Router)
- React 19
- Supabase (Local + Self-hosted)
- Docker Compose
- mise (タスクランナー/バージョン管理)
- pnpm
- Biome (Linter/Formatter)
- Tailwind CSS v4
- Docker / Docker Compose
- mise
miseを導入していない場合は、以下のコマンドでインストールしてください。
curl https://mise.run | sh詳細は公式ドキュメントを参照: https://mise.jdx.dev/installing-mise.html
miseが自動的にNode.jsとpnpmのバージョンを管理します。
mise trust
mise install
pnpm installNUTFes/settings の値をベースに作成してください。local Supabase を使う場合の最小値は以下です。
NEXT_PUBLIC_SUPABASE_URL=http://127.0.0.1:54321
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=自動で作成されます。
- 起動:
mise run up- アプリと Supabase Local を起動します。
- 停止:
mise run down - ログ:
mise run logs - 再ビルド起動:
mise run build
- 起動:
mise run supabase:start - 停止:
mise run supabase:stop - 接続情報:
mise run supabase:status - リセット:
mise run supabase:reset- Migration + Seed 再適用
- Lint:
mise run supabase:lint - 型生成:
mise run supabase:typegen - Migration 作成:
mise run supabase:migration:new -- <name>
- 起動:
mise run prod:supabase:up - 停止:
mise run prod:supabase:down - ログ:
mise run prod:supabase:logs - 状態:
mise run prod:supabase:status - Migration dry-run:
mise run prod:supabase:plan - Lint:
mise run prod:supabase:lint - Migration 適用:
mise run prod:supabase:migrate - フルリセット:
mise run prod:supabase:reset
- 起動:
mise run prod:up - 停止:
mise run prod:down - ログ:
mise run prod:logs - 状態:
mise run prod:status - 一括デプロイ(推奨):
mise run prod:deploy
mise run up
mise run supabase:status
mise run supabase:reset
mise run supabase:lint
mise run supabase:typegen
mise run downmise run prod:supabase:up
mise run prod:supabase:status
mise run prod:supabase:plan
mise run prod:supabase:lint
mise run prod:supabase:migrate
mise run prod:up
mise run prod:status
mise run prod:down
mise run prod:supabase:downmise run prod:supabase:reset は supabase/self-host-stack/docker/reset.sh を実行し、
コンテナ・ボリューム・.env を含む初期化を行います。
- 通常は確認プロンプトが表示されます
- CI等で無人実行する場合のみ
INFRA_SUPABASE_RESET_AUTO_CONFIRM=trueを指定してください
mise run prod:*実行時、NEXT_PUBLIC_SUPABASE_URLとNEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEYは self-host 側.envから自動注入されますSUPABASE_DB_URLを root.env(または環境変数)に設定すると、prod migration の接続先を上書きできますSUPABASE_DB_PUSH_INCLUDE_SEED=trueで prod migration 時にsupabase/seed.sqlを同時適用できます