> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ipmideck.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 設定

> ipmideck は data/config.yaml を読み込み、IPMIDECK_ プレフィックス付きの環境変数による上書きを受け付けます。

## config.yaml

ipmideck は設定を `data/config.yaml` から読み込みます。これは初回実行時に妥当なデフォルト値で
書き込まれます。ファイルを直接編集することも、実行時に環境変数で任意の値を上書きすることも
できます (Docker に便利です。下記を参照)。

```yaml theme={null}
# data/config.yaml (auto-generated on first run)
server:
  host: "0.0.0.0"
  port: 3000
  https: false
auth:
  enabled: true
  session_expiry: "24h"
  max_login_attempts: 5
ipmi:
  poll_interval: 30
  power_poll_interval: 30
  command_timeout: 30
data:
  retention_days: 365
  cleanup_interval: "24h"
logging:
  level: "info"
modules:
  sensors:
    enabled: true
  fanpilot:
    enabled: true
  power:
    enabled: true
  sel:
    enabled: true
  fru:
    enabled: true
```

上記のキーは、ipmideck が `config.yaml` に書き込む実際のプレフィックスなしのネストされたキーです。
環境変数による上書きは別の `IPMIDECK_` プレフィックスを使用し、YAML ファイル自体の中には
決して現れません。

## 環境変数による上書き

すべての設定は、実行時に `IPMIDECK_` プレフィックス付きの環境変数で上書きできます。これは
コンテナー内のファイルを編集したくない Docker で ipmideck を設定する最も簡単な方法です。

| 環境変数                                | 説明                                                       |
| ----------------------------------- | -------------------------------------------------------- |
| `IPMIDECK_SERVER_HOST`              | ダッシュボードがバインドするホスト/インターフェイス (デフォルト `0.0.0.0`)。            |
| `IPMIDECK_SERVER_PORT`              | ダッシュボードがバインドする HTTP ポート (デフォルト `3000`)。                  |
| `IPMIDECK_AUTH_ENABLED`             | 組み込みログインを有効または無効にします (デフォルト `true`)。                     |
| `IPMIDECK_AUTH_SESSION_EXPIRY`      | ログインセッションが有効なままでいる時間 (デフォルト `24h`)。                      |
| `IPMIDECK_IPMI_POLL_INTERVAL`       | BMC センサーポーリングの間隔 (秒) (デフォルト `30`)。                       |
| `IPMIDECK_IPMI_POWER_POLL_INTERVAL` | 電源状態ポーリングの間隔 (秒) (デフォルト `30`)。                           |
| `IPMIDECK_DATA_RETENTION_DAYS`      | クリーンアップ前に保持するセンサー履歴の日数 (デフォルト `365`)。                    |
| `IPMIDECK_DATA_DB_PATH`             | SQLite データベースファイルへの絶対パス。                                 |
| `IPMIDECK_LOGGING_LEVEL`            | ログの詳細度: `debug`、`info`、`warning`、`error` (デフォルト `info`)。 |
| `IPMIDECK_DEMO`                     | 実際の BMC ではなくシミュレートされたハードウェアに対して実行します (デフォルト `false`)。    |

さらに 2 つの変数が、`config.yaml` の値ではなくファイルの *場所* を制御します。
`IPMIDECK_DATA_DIR` (データディレクトリー。下記を参照) と `IPMIDECK_CONFIG_PATH` (読み込む
`config.yaml` への明示的なパス) です。

<Note>
  環境変数は `config.yaml` の値より優先されます。`docker run` コマンド
  (`-e IPMIDECK_SERVER_PORT=8080`) または `docker-compose.yml` で設定してください。
</Note>

## 設定の場所

ipmideck は `IPMIDECK_DATA_DIR` が設定されていればそこからデータディレクトリーを解決し、
そうでなければプラットフォームのデフォルトにフォールバックします。`config.yaml` は常に
`<data-dir>/config.yaml` にあります。

* **Docker:** `/data/config.yaml`。イメージが `IPMIDECK_DATA_DIR=/data` を設定します。
  `/data` をボリュームで永続化してください。
* **Linux 上の pip:** デフォルトで `/data/config.yaml`。`IPMIDECK_DATA_DIR` を設定して移動します。
* **Windows 上の pip:** `./data/config.yaml`。`ipmideck` を実行するディレクトリーからの相対パス。

## 次のステップ

* [セキュリティ](/ja/security): 資格情報とセッションがどのように保護されるか。
* [機能](/ja/features): 各モジュールが何をするか。
