管理パネルを使うと、.env を手で編集しなくても、Web ページでサーバーの設定を管理できます。このページでは、パネルを有効にする方法、パネルで変更できること、設定の保存場所を説明します。
パネルを有効にする
- 環境変数
ADMIN_PASSWORDを設定します。設定していない間は、パネルは無効です。 /adminを開き、そのパスワードでログインします。
全ユーザーにモデルを提供する
「モデル」セクションで、プロバイダーを API キーとモデルの一覧と一緒に追加します。認証情報の入力欄は、アプリの設定の「モデル」タブと同じです。
保存したモデルは、全ユーザーが使えるサーバー側のモデルになります。リクエストの時点で、環境の AI_MODELS_CONFIG または ai-models.json とマージされます。パネルがこれらの環境ファイルを変更することはありません。
その他の設定を変更する
パネルのほかのセクションには、次の設定があります。
| セクション | 設定する内容 |
|---|---|
| 応答の設定 | 生成のパラメータです。AI の応答のしかたを決めます |
| アクセス権 | アクセスコード |
| オプション機能 | 機能の切り替え |
| 呼び出し記録 | モデルの呼び出しの記録(可観測性) |
| 使用量の制限 | クォータ |
保存した設定は設定ファイル(既定では data/settings.json)に書き込まれ、すぐに反映されます。再起動は不要です。ただし、Langfuse や DynamoDB の設定など一部の設定には「再起動が必要」と表示されます。これらはサーバーを再起動すると反映されます。
パネルで変更できるのは、パネルに表示される設定だけです。それ以外の変数は、パネルでは保存できません。次の変数は環境で設定してください。
NEXT_PUBLIC_*変数。アプリのビルド時に固定されます- パネルを有効にする
ADMIN_PASSWORDと、設定ファイルの場所を指定するSETTINGS_FILE - 各プロバイダーの推論と思考の設定。たとえば
OPENAI_REASONING_EFFORTやANTHROPIC_THINKING_BUDGET_TOKENSです - パネルに表示されないその他の変数。たとえば
DEBUG_LLM_PAYLOADやCLIENT_IP_HEADERです
どの値が使われるか
1 つの設定に、複数の場所で値があることがあります。アプリは次の順に探し、最初に見つかった値を使います。
- パネルで保存した値
- 環境変数
- 組み込みの既定値
パネルで保存した値を削除すると、ふたたび環境変数が使われます。
設定の保存場所
設定は、既定ではサーバーを起動したディレクトリの data/settings.json に保存されます。別の場所に保存するには、環境変数 SETTINGS_FILE にファイルのパスを設定します。
- API キーなどのシークレットは、設定ファイルに平文で保存されます。このファイルのモードは 600 で、所有者だけが読み書きできます。このファイルは非公開にしてください。
- どのホストでも、アプリが設定ファイルのディレクトリを作成できないか、そこに書き込めない場合、パネルは読み取り専用になります。このときパネルの上部にお知らせが表示され、入力欄と「変更を保存」ボタンは使えなくなります。アプリはこの確認を一度だけ行い、サーバーを再起動するまで結果を保持します。
- Vercel や Cloudflare Workers などのサーバーレスプラットフォームには、ファイルを残しておけるディスクがないので、そこではパネルは読み取り専用です。これらの環境では、すべて環境変数で設定してください。
Docker で設定を残す
リポジトリの docker-compose.yml は、ホストの ./data ディレクトリをコンテナ内の /app/data にマウントします(./data:/app/data)。そのため、コンテナを入れ替えても、保存した設定は残ります。SETTINGS_FILE を設定する場合は、ファイルを /app/data の中に置いてください。
コンテナ内のアプリはユーザー nextjs(uid 1001)で動くので、このユーザーがディレクトリに書き込める必要があります。Linux では、./data がないと、Docker が root の所有でディレクトリを作成します。するとアプリが書き込めず、パネルは読み取り専用になります。コンテナを起動する前に、docker-compose.yml があるディレクトリで、正しい所有者のディレクトリを作成してください。
mkdir -p data
sudo chown 1001:1001 dataすでにこの理由でパネルが読み取り専用になっている場合は、chown コマンドを実行してから、コンテナを再起動してください。