2.3 KiB
Docker Usage
Build and run the app with Docker Compose:
docker compose up --build
Build only:
docker build -t idrac-info:local .
Run the built image without Compose:
docker run --rm --network host `
-e FLASK_PORT=6050 `
-e APP_DATA_DIR=/app/data `
-e AUTO_BOOTSTRAP_DB=true `
-v ${PWD}/data:/app/data `
-v ${PWD}/backend/instance:/app/backend/instance `
idrac-info:local
Open the app:
http://localhost:6050
The compose service uses host networking:
network_mode: "host"
Because of that, ports: mappings are not used. Change FLASK_PORT if another
process already uses 6050 on the host.
Run in the background:
docker compose up --build -d
Stop the container:
docker compose down
View logs:
docker compose logs -f idrac-info
Persistent Data
The compose file mounts local directories into the container:
./data -> /app/data
./backend/instance -> /app/backend/instance
This preserves uploads, generated files, logs, backups, scripts, repositories, and the default SQLite database across container rebuilds.
Environment
The container defaults to port 6050. To use a different host port:
$env:FLASK_PORT = "8080"
docker compose up --build
Then open:
http://localhost:8080
Common variables:
SECRET_KEY=change-me
AUTO_BOOTSTRAP_DB=true
REDFISH_VERIFY_SSL=false
REDFISH_TIMEOUT=15
TELEGRAM_BOT_TOKEN=
TELEGRAM_CHAT_ID=
Notes
The image is based on Ubuntu 24.04 and installs Dell iDRAC Tools from the local
iDRACTools directory during image build:
iDRACTools/racadm/UBUNTU24/x86_64/*.deb
iDRACTools/ipmitool/UBUNTU24_x86_64/*.deb
racadm is expected on:
/opt/dell/srvadmin/sbin/racadm
The Dockerfile adds /opt/dell/srvadmin/sbin to PATH, so existing scripts can
call racadm directly.
After building, verify the tools inside the image:
docker run --rm idrac-info:local sh -lc "command -v racadm && command -v ipmitool && ipmitool -V"
Host networking works as expected on Linux Docker hosts. Docker Desktop on Windows can behave differently, so production deployment should use a Linux host or runner when direct access to the iDRAC network is required.