Setup
Get ipmideck running on your rack
Three steps from a fresh box to a live dashboard. Pick Docker or pip, start it, then open the wizard. No config files to hand-edit.
Where to get it
Published to PyPI and Docker Hub, with the full source on GitHub. Pick whichever fits how you run things.
Install and start
Two ways to run ipmideck. Docker is a single command. With pip you install the package, then start the server.
Run the container
docker run --network host devluigi06/ipmideck:latestRuns with --network host so ipmideck can reach your BMCs directly.
Install the package
pip install ipmideckStart the server
ipmideck
The pip package needs ipmitool installed on the host. A bare ipmideck binds 0.0.0.0:3000.
Open the dashboard
http://<your-ip>:3000
your-ip is the address of the machine you ran it on. Find it with ip addr on Linux, or in your router's device list.
Browse to your server's address on port 3000, then follow the in-app setup wizard to add your first BMC. config.yaml is written automatically on first run, so there is nothing to configure by hand.
Working? You'll land on the ipmideck login, then a short setup wizard to add your first BMC.
Not seeing it?
Nothing loads? Either free up port 3000, or move ipmideck to another port: press the b key in the interactive console, or set IPMIDECK_SERVER_PORT.
BMC missing in the wizard? It must be reachable on UDP 623. In Docker, run with --network host.
Supported hardware
ipmideck speaks standard IPMI 2.0, so most server BMCs respond. Support is tiered by how thoroughly each vendor has been tested.
Configuration
advancedYou do not need this to get started. ipmideck writes data/config.yaml with sensible defaults on first run. It is here for when you want to know where it lives and how to change it.
- Docker
- /data/config.yaml. The image sets IPMIDECK_DATA_DIR=/data, so persist that path with a volume.
- pip / source
- A data directory next to the install (on Linux, /data). Relocate it with IPMIDECK_DATA_DIR.
Show the default config.yaml
# 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
Every setting can be overridden at runtime with an IPMIDECK_-prefixed environment variable, the easy way to configure ipmideck in Docker.
- IPMIDECK_SERVER_PORT
- HTTP port the dashboard binds to (default 3000).
- IPMIDECK_AUTH_ENABLED
- Enable or disable the built-in login (default true).
- IPMIDECK_IPMI_POLL_INTERVAL
- Seconds between BMC sensor polls (default 30).
- IPMIDECK_DATA_RETENTION_DAYS
- Days of sensor history to keep before cleanup (default 365).