메인 콘텐츠로 건너뛰기
터미널에서 ipmideck를 시작하면 대화형 운영자 콘솔이 렌더링됩니다. 배너와 도움말 막대가 있는 고정 헤더가 실시간으로 스크롤하는 로그 위에 있습니다. 모든 작업은 단일 키 입력이며, 메뉴도 마우스도 없습니다. 콘솔은 서버와 함께 프로세스 내에서 실행되므로, 보이는 것은 당신이 있는 머신의 실시간 상태입니다.
콘솔은 실제 대화형 터미널에서만 나타납니다. stdin과 stdout 둘 다 TTY여야 합니다. Docker, systemd 아래, 또는 stdout이 파이프/리디렉션될 때, ipmideck는 콘솔을 완전히 건너뛰고 일반 스크롤 로그만 씁니다. 콘솔이 나타나는 곳을 참조하세요.

어떻게 보이는가

콘솔은 하나의 전체 화면 뷰입니다. 항상 보이는 고정 헤더가, 그 아래에서 스크롤하는 실시간 로그 위에 있습니다.
ipmideck interactive console showing the banner, help bar, status line, and the scrolling log panel
헤더는 결코 스크롤하지 않습니다. 새 로그 줄은 그 아래의 패널에 나타나며, 가장 최근 줄은 항상 화면에 유지됩니다. 작업하려면 단일 키를 누릅니다. 모든 것이 방금 시작한 서버에 대해 프로세스 내에서 일어납니다.

헤더

화면 상단은 결코 스크롤하지 않는 고정 헤더입니다. 위에서 아래로 다음과 같이 쌓입니다.
  • ipmideck 배너.
  • 도움말 막대: 모든 작업 키와 그 기능.
  • 상태 줄: 세션의 실시간 상태.
  • 간결한 크레딧 줄 (작성자, 버전, 라이선스).
헤더 아래의 본문은 스크롤하는 로그 끝입니다. 가장 최근 줄은 항상 화면에 유지되므로, 새로 표시된 URL이나 확인이 하단에서 잘리는 일은 없습니다.

상태 줄

상태 줄은 |로 구분된 세 개의 실시간 필드를 표시합니다.
  • Verbosity: 현재 로그 레벨 (INFO, DEBUG, WARNING).
  • Clients: 지금 연결된 대시보드 클라이언트 수.
  • last: 마지막으로 누른 작업 키. 즉각적인 시각적 피드백으로.

작업 키

모든 작업은 한 번의 키 입력입니다. 도움말 막대가 그것들을 모두 나열합니다.
작업
v로그 상세도 순환
c연결된 세션 하위 뷰 열기
s구성된 서버 하위 뷰 열기
u대시보드 url을 로그에 표시
g업데이트 확인 (로컬 버전 출력)
b바인드 변경 편집기 열기
r서버 재시작
q종료, 또는 하위 뷰에서 로그 뷰로 돌아가기
ESC뒤로, 하위 뷰에서 로그 뷰로 돌아가기
화살표, 기능, 탐색 키는 소비되고 무시되며, 결코 작업과 충돌하거나 키 입력으로 계산되지 않습니다.

v: 상세도

v는 런타임 로그 레벨을 고정된 3단계 루프로 순환합니다.
INFO → DEBUG → WARNING → INFO
INFO가 기본값입니다. DEBUG는 더 많이, WARNING은 더 적게 표시합니다. 변경은 세션의 나머지에 대해 즉시 적용되며 상태 줄이 그에 맞게 업데이트됩니다.
상세도 토글은 실행 중인 레벨만 변경합니다. 다음 부팅 시에는 구성 (또는 IPMIDECK_LOGGING_LEVEL 환경 변수)의 레벨이 다시 이깁니다. 구성을 참조하세요.

c: 세션

cConnected sessions 하위 뷰를 엽니다. 현재 연결된 대시보드 클라이언트의 읽기 전용 테이블이며, 열은 다음과 같습니다.
  • IP
  • Connected since
  • User-Agent
q 또는 ESC를 눌러 로그 뷰로 돌아갑니다.
Connected sessions table showing IP, Connected since, and User-Agent columns

s: 서버

sConfigured servers 하위 뷰를 엽니다. ipmideck가 통신하도록 구성된 BMC의 읽기 전용 테이블이며, 열은 다음과 같습니다.
  • Name
  • Host
  • Status
q 또는 ESC를 눌러 로그 뷰로 돌아갑니다.
Configured servers table showing Name, Host, and Status columns with online and offline servers

u: url

u는 대시보드 URL (scheme://host:port)을 로그 본문에 표시합니다. 서버가 와일드카드 주소 (0.0.0.0, ::, 또는 빈 값)에 바인드되어 있으면, URL은 127.0.0.1로 다시 쓰여 실제로 브라우저에서 열 수 있게 됩니다. http://0.0.0.0:3000은 수신 주소이지, 탐색 가능한 주소가 아닙니다.
The console log with the dashboard URL printed at the bottom after pressing u

g: 업데이트

g는 로컬 버전과 온라인 업데이트 확인이 pip 릴리스와 함께 제공된다는 메모를 출력합니다. 네트워크 호출을 하지 않습니다. ipmideck는 오프라인을 유지합니다.

r: 재시작

r은 깨끗한 프로세스 내 재시작을 수행합니다. ipmideck는 콘솔을 해체하고, config.yaml을 다시 읽고, 새로 시작합니다. 새 주소를 적용하려면 바인드 변경 편집 후에 사용하세요.

q / ESC: 종료 및 뒤로

  • 하위 뷰 (sessions 또는 servers)에서는, qESC 둘 다 로그 뷰로 돌아갑니다.
  • 로그 뷰에서는, q가 깨끗한 종료를 트리거하며, 서버가 정상적으로 종료됩니다.

b: 바인드 변경

b는 바인드 변경 편집기를 엽니다. 이는 입력하는 동안 도움말 막대를 대체하는 인라인 host:port 프롬프트입니다. 헤더는 현재 바인드를 읽기 전용 current: host:port 레이블로 표시하고 빈 new: 필드를 표시하므로, 입력하는 값이 즉시 나타나며 기존 것과 혼동되지 않습니다.
The change-bind editor showing the current bind address and an empty new field with apply, cancel, and delete key hints
편집기 내의 키:
  • Enter: 입력한 host:port를 적용.
  • ESC: 아무것도 변경하지 않고 취소.
  • Backspace: 마지막 문자를 삭제.
  • 모든 인쇄 가능 문자, 버퍼에 추가.
입력은 host:port여야 하며, 비어 있지 않은 호스트와 범위 1–65535의 정수인 포트여야 합니다. 유효한 입력에서, ipmideck는 새 바인드를 확인하고 재시작이 필요함을 상기시킵니다 (r을 누릅니다). 유효하지 않은 입력에서는 Invalid host/port를 보고하고 아무것도 변경되지 않습니다.
바인드 변경 편집은 실시간이 아닙니다. 구성에 쓰이며 재시작 후에만 적용됩니다. 적용하려면 r을 누르세요. 그리고 우선순위를 기억하세요. 다음 부팅 시의 IPMIDECK_SERVER_HOST / IPMIDECK_SERVER_PORT 환경 변수나 명시적 --host / --port 플래그는 콘솔이 영속화한 것을 재정의합니다. 구성을 참조하세요.

콘솔이 나타나는 곳

대화형 콘솔은 실제 TTY에 따라 게이트됩니다. ipmideck는 stdin과 stdout 둘 다 대화형 터미널일 때만 그것을 렌더링합니다. 그렇지 않을 때는 배너와 일반 스크롤 로그로 격하되며 키 리스너를 설치하지 않으므로, 비 TTY에서 무언가가 바쁘게 회전하는 일은 없습니다. 즉, 콘솔은 ipmideck를 터미널에서 직접 실행할 때 나타납니다.
ipmideck
다음의 경우에는 나타나지 않습니다.
  • Docker 아래에서 실행: 컨테이너가 uvicorn을 직접 시작하고 콘솔 경로에 도달하지 않습니다. 일반 컨테이너 로그 (docker logs)를 얻습니다.
  • systemd 또는 stdout이 터미널이 아닌 모든 서비스 관리자 아래에서 실행.
  • stdout을 파이프 또는 리디렉션 (예: ipmideck > server.log): stdout은 더 이상 TTY가 아닙니다.
모든 비 TTY의 경우, 서버는 여전히 정상적으로 실행되며 동일한 기본값 0.0.0.0:3000에 바인드됩니다. 실시간 콘솔 대신 일반 로그를 얻을 뿐입니다.
ipmilinkipmideck의 하위 호환 별칭으로, 둘 다 동일한 콘솔을 시작합니다.

다음 단계

  • ipmideck 실행: 시작, 서비스, 바인드 우선순위 규칙.
  • CLI: 모든 서브 명령과 플래그 자세히.
  • 구성: 바인드 주소, 상세도, 폴링 간격을 설정합니다.
  • 설치: Docker 또는 pip로 설치합니다.