Skip to content

dillonbrowne/ipmi-bmc-toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ipmi-bmc-toolkit

Browser-accessible desktop pre-loaded to manage Supermicro, ATEN, Dell iDRAC, and HP iLO BMCs that still ship Java Web Start KVM consoles and MD5-signed jars. A maintained replacement for the abandoned solarkennedy/ipmi-kvm-docker (last commit 2022).

architecture

Why this exists

Old IPMI KVM applets don't run on modern Linux without a fight. What this image fixes:

Problem Fix
Ubuntu 24/26 dropped openjdk-8-jre Eclipse Temurin 8 from Adoptium's apt repo
icedtea-netx 1.8.8 throws NoSuchMethodError on JRE 8 pins 1.8.4 (apt-mark hold)
Modern Java rejects MD5/SHA1 jars empties jdk.{tls,certpath,jar}.disabledAlgorithms
KVM applets fail in <clinit> (SecurityManager) grants AllPermission in /etc/icedtea-web/javaws.policy
No browser desktop built on linuxserver/webtop (KasmVNC + XFCE + Chromium)

Quick start

docker run --rm -p 3000:3000 --shm-size=1g ghcr.io/dillonbrowne/ipmi-bmc-toolkit:latest

Open http://localhost:3000, browse to your BMC in Chromium, click Launch KVM, and double-click the downloaded .jnlp (or run javaws <file>). The viewer opens on the desktop.

For persistence, mount /config so the Chromium profile, downloads, and IPMIView survive a recreate:

docker run -d --name ipmi-bmc-toolkit -p 3000:3000 --shm-size=1g \
  -v $(pwd)/data:/config ghcr.io/dillonbrowne/ipmi-bmc-toolkit:latest

Also on Docker Hub as dillonbrowne/ipmi-bmc-toolkit. A docker-compose.example.yml is included.

What's inside

Base linuxserver/webtop (Ubuntu 26.04 · XFCE · KasmVNC · Chromium) + Eclipse Temurin 8 + icedtea-netx 1.8.4 (javaws), plus BMC CLIs — ipmitool, freeipmi-tools, openipmi, ipmiutil, conman — and net helpers (ssh, sshpass, lftp, dig, tcpdump, …).

IPMIView (optional)

Supermicro's multi-BMC GUI. Its EULA forbids redistribution, so it's never bundled — it's fetched at runtime onto your own machine:

  • Auto (opt-in): run with -e IPMIVIEW_AUTODOWNLOAD=true (pin a build via IPMIVIEW_URL). Enabling it means you accept the EULA.
  • Manual: Supermicro's browse/EULA pages are Akamai-gated, so download IPMIView_*_bundleJRE_Linux_x64.tar.gz via the in-desktop Chromium into ~/Downloads, then run install-ipmiview.sh (or restart).

Installs to /config/IPMIView with a desktop launcher and ipmiview CLI.

Authentication

Ships no built-in auth — fine for local use, not for network exposure. Use CUSTOM_USER + PASSWORD (KasmVNC basic auth), a reverse proxy with OIDC/SSO (recommended), or VPN-only.

Configuration

Var Default Notes
PUID / PGID 1000 from linuxserver/webtop
TZ Etc/UTC timezone
CUSTOM_USER / PASSWORD optional KasmVNC basic auth
SUBFOLDER / path prefix behind a reverse proxy
IPMIVIEW_AUTODOWNLOAD false true fetches IPMIView at runtime (accepts EULA)
IPMIVIEW_URL pinned 2.21.0 override IPMIView version/URL

Mount /config for persistent state; Chromium needs --shm-size=1g. Full env list: webtop docs.

Build from source

git clone https://github.com/dillonbrowne/ipmi-bmc-toolkit
cd ipmi-bmc-toolkit
docker buildx build --load -t ipmi-bmc-toolkit:dev .

CI builds and publishes multi-arch (linux/amd64, linux/arm64) to GHCR and Docker Hub.

License

MIT. Thanks to solarkennedy/ipmi-kvm-docker, linuxserver.io, Adoptium, and IcedTea-Web.

About

Browser-accessible desktop for managing legacy Supermicro/ATEN/Dell iDRAC/HP iLO BMC KVM consoles — Java 8 + icedtea-netx + IPMI CLI tools. A maintained replacement for solarkennedy/ipmi-kvm-docker.

Topics

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors