Zum Hauptinhalt springen

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).
# 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.
UmgebungsvariableBeschreibung
IPMIDECK_SERVER_HOSTHost/Schnittstelle, an die das Dashboard bindet (Standard 0.0.0.0).
IPMIDECK_SERVER_PORTHTTP-Port, an den das Dashboard bindet (Standard 3000).
IPMIDECK_AUTH_ENABLEDAktiviert oder deaktiviert die eingebaute Anmeldung (Standard true).
IPMIDECK_AUTH_SESSION_EXPIRYWie lange eine Anmeldesitzung gültig bleibt (Standard 24h).
IPMIDECK_IPMI_POLL_INTERVALSekunden zwischen den BMC-Sensorabfragen (Standard 30).
IPMIDECK_IPMI_POWER_POLL_INTERVALSekunden zwischen den Power-Status-Abfragen (Standard 30).
IPMIDECK_DATA_RETENTION_DAYSTage an Sensorverlauf, die vor der Bereinigung aufbewahrt werden (Standard 365).
IPMIDECK_DATA_DB_PATHAbsoluter Pfad zur SQLite-Datenbankdatei.
IPMIDECK_LOGGING_LEVELLog-Ausführlichkeit: debug, info, warning oder error (Standard info).
IPMIDECK_DEMOGegen 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).
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.

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