ipmideck를 제공하며, 이는 서버를 시작하거나, 관리자
비밀번호를 재설정하거나, 자체 서명 인증서를 생성합니다.
CLI는 ipmideck를 직접 실행할 때 (pip 설치 또는 소스 체크아웃)에만 적용됩니다. Docker
이미지는
uvicorn backend.main:app을 직접 시작하고 CLI를 결코 호출하지 않으므로, 이러한
플래그, 바인드 우선순위, 단일 인스턴스 가드 중 어느 것도 컨테이너에 적용되지 않습니다. 컨테이너의 바인드는 자체 시작 명령으로 설정됩니다. 설치를 참조하세요.서버 시작
start는 기본 서비스 명령입니다. 서브 명령이 없는 단순한 호출도 동일하게 서비스하므로,
이것들은 동등합니다.
0.0.0.0:3000**에 바인드되어, 모든 인터페이스에서,
포트 3000에서 도달 가능합니다. 가동되면 http://<your-ip>:3000을 엽니다.
--host와 --port로 바인드를 재정의합니다.
서브 명령
serve는 start의 더 이상 사용되지 않는 별칭입니다. 새 스크립트에서는 start
(또는 단순한 ipmideck)를 선호하세요.플래그
이러한 최상위 플래그는 서비스 경로에 적용됩니다.--demo와 --config는 모든 서브 명령
분기 전에 읽히므로, reset-password와 --gen-cert에도 영향을 줍니다.
바인드 우선순위
ipmideck가 실제로 바인드하는 호스트와 포트는 이 순서로 해석됩니다. 우선순위가 높은 순:- 명령줄의 명시적
--host/--port플래그. - 구성. 이것 자체가 환경 변수 (
IPMIDECK_SERVER_HOST/IPMIDECK_SERVER_PORT)를config.yaml보다,config.yaml을 내장 기본값보다 우선하여 해석합니다. - 하드코딩된 폴백
0.0.0.0:3000. 초기 구성 로드가 실패하면 사용됩니다.
config.yaml에 영속화한 값은 다음 부팅 시 IPMIDECK_ 환경 변수 또는
--host / --port 플래그에 의해 재정의됩니다. 환경과 CLI가 항상 이깁니다.
config.yaml이 형식이 잘못되면, ipmideck는 stderr에 경고를 출력하고 0.0.0.0:3000으로
폴백합니다.
IPMIDECK_SERVER_HOST와 IPMIDECK_SERVER_PORT 환경 변수는 IPMIDECK_ 접두사를 사용합니다.
재정의의 전체 목록은 구성을 참조하세요.—gen-cert로 HTTPS
--gen-cert는 자체 서명 인증서와 키를 생성한 다음 종료합니다. 서버를 시작하지 않으며,
HTTPS를 스스로 켜지 않습니다.
data/certs/ 아래에 인증서 + 키 쌍을 쓰고, 그 경로를 config.yaml의 server 블록에
기록하고, 세 줄을 출력합니다.
config.yaml에서 server.https: true를 설정하고 ipmideck를 재시작합니다. HTTPS는 결코 자동으로 활성화되지 않습니다.
데모 모드
--demo는 실제 BMC 대신 시뮬레이션된 하드웨어에 대해 ipmideck를 실행하며, 서버를 하나도
연결하지 않고 대시보드를 평가하는 데 유용합니다.
관리자 비밀번호 재설정
reset-password는 관리자 로그인을 대화형으로 만들거나 업데이트한 다음, 서버를 한 번도
시작하지 않고 종료합니다.
Username:을 묻고 그다음 New password: (숨겨진 입력)을 묻습니다. 계정이 이미 존재하면,
그 사용자의 비밀번호를 업데이트하고 Password updated for <username>을 출력합니다. 그렇지
않으면 사용자를 만들고 User <username> created를 출력합니다.
개발용 자동 리로드
--reload는 개발 전용 빠른 경로입니다. uvicorn 자체의 자동 리로드 슈퍼바이저로 넘기고
반환합니다. 이는 의도적으로 아래에 설명된 단일 인스턴스 포트 가드를 건너뜁니다.
리로더가 자체 슈퍼바이저 프로세스를 실행하기 때문입니다.
종료 코드
서비스 경로 (
--reload가 아닌)에서 ipmideck는 바인드 전에 단일 인스턴스 가드를 실행합니다.
포트가 이미 사용 중이면 stderr에 오류를 출력하고 1로 종료합니다. 주소를 사용할 수 없거나
허용되지 않아 바인드가 실패하면, 별개의 오류를 출력하고 마찬가지로 1로 종료합니다.