메인 콘텐츠로 건너뛰기

config.yaml

ipmideck는 설정을 data/config.yaml에서 읽으며, 이는 최초 실행 시 합리적인 기본값으로 작성됩니다. 파일을 직접 편집하거나, 런타임에 환경 변수로 어떤 값이든 재정의할 수 있습니다 (Docker에 유용합니다. 아래 참조).
# 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_INTERVALBMC 센서 폴링 사이의 초 (기본값 30).
IPMIDECK_IPMI_POWER_POLL_INTERVAL전원 상태 폴링 사이의 초 (기본값 30).
IPMIDECK_DATA_RETENTION_DAYS정리 전에 보관할 센서 기록 일수 (기본값 365).
IPMIDECK_DATA_DB_PATHSQLite 데이터베이스 파일에 대한 절대 경로.
IPMIDECK_LOGGING_LEVEL로그 상세도: debug, info, warning, error (기본값 info).
IPMIDECK_DEMO실제 BMC 대신 시뮬레이션된 하드웨어에 대해 실행합니다 (기본값 false).
두 개의 추가 변수는 config.yaml 값이 아니라 파일 위치를 제어합니다. IPMIDECK_DATA_DIR (데이터 디렉터리. 아래 참조)와 IPMIDECK_CONFIG_PATH (로드할 config.yaml에 대한 명시적 경로)입니다.
환경 변수는 config.yaml의 값보다 우선합니다. docker run 명령 (-e IPMIDECK_SERVER_PORT=8080) 또는 docker-compose.yml에서 설정하세요.

구성이 위치하는 곳

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를 실행하는 디렉터리 기준 상대 경로.

다음 단계

  • 보안: 자격 증명과 세션이 어떻게 보호되는지.
  • 기능: 각 모듈이 무엇을 하는지.