Docker (권장)
Linux.--network host는 컨테이너가 로컬 네트워크에서 UDP 포트 623 (IPMI/RMCP+ 포트)을
통해 BMC에 직접 도달할 수 있도록 하기 위해 필요합니다. 호스트 네트워킹이 없으면 컨테이너는
Docker의 NAT 뒤에 위치하여 하드웨어와 IPMI 세션을 완료할 수 없습니다.
ipmideck-data)을 /data에 마운트합니다. 그 볼륨에는
config.yaml, SQLite 데이터베이스, 그리고 저장된 BMC 자격 증명을 보호하는 암호화 키가 들어
있으므로, 재시작, 업그레이드, docker rm에도 살아남습니다. -v가 없으면 컨테이너가 다시
생성될 때마다 새로운 빈 설치를 얻게 됩니다.
컨테이너가 가동되면 http://<your-ip>:3000을 열고 설정 마법사를 따릅니다.
게시된 이미지는 Docker Hub의
hub.docker.com/r/devluigi06/ipmideck에 있습니다.
pip
ipmitool이 설치되어 있어야 합니다. ipmideck는 모든 IPMI 작업에 대해
ipmitool을 호출합니다. 먼저 배포판의 패키지 관리자에서 설치하세요
(예: apt install ipmitool 또는 dnf install ipmitool).
Debian 및 Ubuntu에 설치 (PEP 668)
기본 상태의 Debian 12+ 또는 Ubuntu 23.04+ 시스템에서pip install ipmideck는 다음과 함께
멈춥니다.
apt가 그것에 의존합니다), pip가 거기에 쓰는 것을 차단합니다. 그래도 ipmideck를 설치하는
지원되는 방법은 두 가지가 있습니다.
pipx (권장)
pipx는 명령줄 Python 애플리케이션을 자체 격리된 가상 환경에 설치하고, 시스템 Python을 전혀 건드리지 않으면서 그 결과 명령을 전역으로 노출합니다. 이것이 바로 ipmideck의 형태이므로, 이것이 우리가 권장하는 경로입니다.~/.local/bin에 배치합니다. Debian과 Ubuntu는 그 디렉터리가 존재하면
자동으로 PATH에 추가하지만, 새 셸 세션에 대해서만 그렇게 하므로, 맨 처음 설치는 경고를
출력하고 ipmideck는 그것을 실행한 셸에서는 아직 찾을 수 없습니다.
venv
가상 환경은 같은 방식으로 PEP 668을 우회하며, 소스 체크아웃에서 작업하는 경우 올바른 선택입니다.ipmideck 명령을 사용할 수 있습니다.
pip install --break-system-packages ipmideck도 작동하지만, 시스템 Python에 직접 쓰기
때문에 종속성 버전이 충돌하면 apt를 손상시킬 수 있습니다. pipx나 venv를 선호하세요.ipmideck가 데이터를 저장하는 위치
ipmideck는 구성과 데이터베이스를 데이터 디렉터리 아래에 씁니다.- Docker: 컨테이너 내부의
/data(이미지가IPMIDECK_DATA_DIR=/data를 설정합니다. 볼륨으로 영속화하세요). - Linux의 pip: 기본적으로
/data이며, 이는 보통 루트가 아닌 사용자가 쓸 수 없습니다. - Windows의 pip:
./data.ipmideck를 실행하는 디렉터리 기준 상대 경로.
IPMIDECK_DATA_DIR 환경 변수로 위치를 재정의할 수 있습니다.
이 디렉터리에는 config.yaml, SQLite 데이터베이스, 그리고 저장된 BMC 자격 증명을 보호하는 데
사용되는 암호화 키 파일이 들어 있습니다. 자세한 내용은 구성과
ipmideck 실행을 참조하세요.
서비스로 실행 (Linux)
터미널에서ipmideck start는 대화형 콘솔을 열고 세션을 닫으면 중지됩니다.
ipmideck를 백그라운드에서 계속 실행하고 부팅 시 시작하려면, 대신 systemd 아래에서
실행하세요.
전용 사용자를 만들고, pipx로 그 사용자용 ipmideck를 설치하고, 그 사용자가 소유하는 데이터
디렉터리를 부여하세요.
journalctl -u ipmideck -f).
systemctl stop은 SIGTERM을 보내며, 이는 팬 제어를 BMC로 반환하는 동일한 정상 종료를
트리거합니다. 헤드리스 / 비 TTY 모드를 참조하세요.