> ## 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.

# Konfiguration

> ipmideck liest data/config.yaml und akzeptiert IPMIDECK_-präfixierte Umgebungs-Überschreibungen.

## config.yaml

ipmideck liest seine Einstellungen aus `data/config.yaml`, die beim ersten Start mit sinnvollen
Voreinstellungen geschrieben wird. Sie können die Datei direkt bearbeiten oder jeden Wert zur Laufzeit mit einer
Umgebungsvariablen überschreiben (praktisch für Docker, siehe unten).

```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
```

Die obigen Schlüssel sind die echten, nicht präfixierten verschachtelten Schlüssel, die ipmideck in
`config.yaml` schreibt. Umgebungsvariablen-Überschreibungen verwenden ein separates `IPMIDECK_`-Präfix und
erscheinen nie innerhalb der YAML-Datei selbst.

## Umgebungs-Überschreibungen

Jede Einstellung kann zur Laufzeit mit einer `IPMIDECK_`-präfixierten Umgebungsvariablen überschrieben
werden. Das ist der einfachste Weg, ipmideck in Docker zu konfigurieren, wo Sie keine Datei innerhalb des
Containers bearbeiten möchten.

| Umgebungsvariable                   | Beschreibung                                                                       |
| ----------------------------------- | ---------------------------------------------------------------------------------- |
| `IPMIDECK_SERVER_HOST`              | Host/Schnittstelle, an die das Dashboard bindet (Standard `0.0.0.0`).              |
| `IPMIDECK_SERVER_PORT`              | HTTP-Port, an den das Dashboard bindet (Standard `3000`).                          |
| `IPMIDECK_AUTH_ENABLED`             | Aktiviert oder deaktiviert die eingebaute Anmeldung (Standard `true`).             |
| `IPMIDECK_AUTH_SESSION_EXPIRY`      | Wie lange eine Anmeldesitzung gültig bleibt (Standard `24h`).                      |
| `IPMIDECK_IPMI_POLL_INTERVAL`       | Sekunden zwischen den BMC-Sensorabfragen (Standard `30`).                          |
| `IPMIDECK_IPMI_POWER_POLL_INTERVAL` | Sekunden zwischen den Power-Status-Abfragen (Standard `30`).                       |
| `IPMIDECK_DATA_RETENTION_DAYS`      | Tage an Sensorverlauf, die vor der Bereinigung aufbewahrt werden (Standard `365`). |
| `IPMIDECK_DATA_DB_PATH`             | Absoluter Pfad zur SQLite-Datenbankdatei.                                          |
| `IPMIDECK_LOGGING_LEVEL`            | Log-Ausführlichkeit: `debug`, `info`, `warning` oder `error` (Standard `info`).    |
| `IPMIDECK_DEMO`                     | Gegen simulierte Hardware statt echter BMCs ausführen (Standard `false`).          |

Zwei weitere Variablen steuern *Speicherorte* von Dateien statt eines Werts in `config.yaml`:
`IPMIDECK_DATA_DIR` (das Datenverzeichnis, siehe unten) und `IPMIDECK_CONFIG_PATH` (ein
expliziter Pfad zu einer zu ladenden `config.yaml`).

<Note>
  Umgebungsvariablen haben Vorrang vor Werten in `config.yaml`. Setzen Sie sie in Ihrem
  `docker run`-Befehl (`-e IPMIDECK_SERVER_PORT=8080`) oder Ihrer `docker-compose.yml`.
</Note>

## Wo die Konfiguration liegt

ipmideck löst sein Datenverzeichnis aus `IPMIDECK_DATA_DIR` auf, falls gesetzt, andernfalls greift es
auf eine plattformabhängige Voreinstellung zurück. `config.yaml` liegt immer unter `<data-dir>/config.yaml`:

* **Docker:** `/data/config.yaml`: das Image setzt `IPMIDECK_DATA_DIR=/data`; bewahren Sie
  `/data` mit einem Volume auf.
* **pip unter Linux:** standardmäßig `/data/config.yaml`: setzen Sie `IPMIDECK_DATA_DIR`, um es zu verschieben.
* **pip unter Windows:** `./data/config.yaml`, relativ zu dem Verzeichnis, aus dem Sie `ipmideck` ausführen.

## Nächste Schritte

* [Sicherheit](/de/security): wie Zugangsdaten und Sitzungen geschützt werden.
* [Funktionen](/de/features): was jedes Modul tut.
