コンテンツにスキップ
箱庭諸島2 TypeScript 版
Esc
↑↓移動↵開く⌘Jプレビュー
このページの内容

環境変数一覧

箱庭諸島2 TypeScript 版で設定できる環境変数の一覧です。

Node.js 版では環境変数 (または .env) に、Cloudflare 版では wrangler.jsonc の vars か secret (wrangler secret put やダッシュボード) に設定します。

Node.js 版で常に必須の項目はありません。HAKONIWA_BASE_URL は、ループバック (localhost、127.0.0.0/8、::1) で待ち受けるときだけ省略できます。省略すると http://localhost:<実際のポート> になります。開発サーバーが空いているポートへずらしたときも、そのポートを使います。リクエストの Host ヘッダからは決めません。0.0.0.0 や ::、LAN や公開アドレスで待ち受けるとき (Vite の --host、HAKONIWA_HOST、ホスト未指定の hakoniwa serve) は必須で、未設定だと起動前にエラーで終了します。値を設定したときは、待ち受け先に関係なくその URL を使います。db や game のように HTTP サーバーを起動しないコマンドは、リクエストを受け取らないので、未設定なら http://localhost:<PORT> (PORT の既定は 3000) を使います。Cloudflare 版はすべての項目を省略できます。HAKONIWA_BASE_URL を省略したときは、リクエストのオリジンを公開 URL として使います。ログインのための秘密鍵は、未設定なら自動で生成されます。最初の管理者は /admin/setup で登録できます。ほかに環境変数が必要になるのは、X / Discord ログインやメール送信のように外部サービスの secret が必要な機能を使うときです。

認証・管理者

環境変数 既定値 説明 Cloudflare
HAKONIWA_AUTH_SECRET なし (自動生成) ログインのセッションと CSRF トークンの鍵。未設定なら初回起動時にランダムな値を生成してデータベースに保存します。明示する場合は openssl rand -base64 32 などで生成した 32 バイト以上のランダム文字列 secret
HAKONIWA_ADMIN_EMAILS なし 管理者とみなすメールアドレス (カンマ区切り)。管理画面の「管理者」で追加した管理者に加えて、常に管理者として扱われます vars
HAKONIWA_BASE_URL Node.js 版はループバック待ち受けなら http://localhost:<ポート>。それ以外は必須。Cloudflare 版はなし (リクエストのオリジン) 公開 URL。OAuth のコールバック、メールログインのリンク、Origin 検査に使います。Node.js 版でループバック (pnpm dev の既定、または HAKONIWA_HOST=127.0.0.1) のときは省略でき、実際に待ち受けたポートの http://localhost:<ポート> になります。非ループバックでは起動前に必要です。設定した値があるときは常にそれを使います。Cloudflare 版は未設定ならリクエストのオリジンを使います。カスタムドメインやリバースプロキシでは、ブラウザで開く公開 URL を設定します vars
HAKONIWA_X_CLIENT_ID / HAKONIWA_X_CLIENT_SECRET なし 両方設定すると X (Twitter) ログインが使えるようになります secret
HAKONIWA_DISCORD_CLIENT_ID / HAKONIWA_DISCORD_CLIENT_SECRET なし 両方設定すると Discord ログインが使えるようになります secret
HAKONIWA_RESEND_API_KEY なし メールログインのメール送信 (Resend)。未設定ならログにリンクを出力するだけになります secret
HAKONIWA_MAIL_FROM hakoniwa@example.com メールの送信元アドレス vars
HAKONIWA_DEV_LOGIN false true で開発ログイン (任意のメールアドレスでログイン) を有効にします。本番では必ず false vars

ゲームの動作

環境変数 既定値 説明
HAKONIWA_MAX_CATCH_UP_TURNS Node.js 版は 1、Cloudflare 版は 3 1 回の判定で進める最大ターン数
HAKONIWA_ADMIN_ENABLED true 管理画面 (/admin) の有効・無効
HAKONIWA_DEBUG false true でトップページに「ターンを進める」ボタンを表示します (管理者のみ。開発用)

管理画面で変更する設定

次の設定は、管理画面で変更します。

設定 変更する場所
サイトのタイトル、フッタの管理者名・連絡先・掲示板・トップページ 管理画面の「サイト設定」
タイムゾーン、追加の NG ワード、島ごとのローカル掲示板 管理画面の「サイト設定」
開始日時、最終ターン、1 ターンの長さ 「新しいゲームを開始」のフォーム (CLI では --start-at / --final-turn / --unit-time)。開始後は「ゲーム設定」
管理者 管理画面の「管理者」(または HAKONIWA_ADMIN_EMAILS)

Node.js 版のみ

環境変数 既定値 説明
PORT 3000 サーバーの待ち受けポート
HAKONIWA_HOST なし (全インターフェース) hakoniwa serve の待ち受けアドレス。127.0.0.1、localhost、::1 ならループバックで、HAKONIWA_BASE_URL を省略できます。0.0.0.0、::、LAN や公開 IP では HAKONIWA_BASE_URL が必須です。開発サーバー (pnpm dev) の待ち受けは Vite の --host と server.host で決まり、この変数は使いません
HAKONIWA_DB_PATH ./data/hakoniwa.sqlite SQLite データベースファイル
HAKONIWA_BACKUP_DIR ./data/backups バックアップの出力先
HAKONIWA_TURN_CHECK_INTERVAL_SEC 60 ターン進行を確認する間隔 (秒)。0 で無効
HAKONIWA_PUBLIC_DIR @hakoniwajs/core の public/ 画像や CSS を配信するディレクトリ

コード上の定義は packages/core/src/bootstrap/config-from-env.ts (共通)、packages/node/src/config.ts (Node.js 版) にあります。