Files
iDRAC_Info/DOCKER.md
T
unknown 67864994aa
Docker Build / Build Docker image (push) Failing after 8s
Publish Docker image to Gitea registry
2026-06-10 12:35:59 +09:00

3.1 KiB

Docker Usage

The default compose file pulls the image from the Gitea Container Registry:

docker compose pull
docker compose up -d

Default image:

gitea.mouse84.com/kim.kanghee/idrac-info:latest

Use a specific image tag:

$env:IDRAC_INFO_IMAGE = "gitea.mouse84.com/kim.kanghee/idrac-info:<commit-sha>"
docker compose pull
docker compose up -d

Build locally instead of pulling:

docker compose -f docker-compose.yml -f docker-compose.build.yml up --build -d

Build only:

docker build -t gitea.mouse84.com/kim.kanghee/idrac-info:local .

Run the pulled 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 `
  gitea.mouse84.com/kim.kanghee/idrac-info:latest

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 -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 -d

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 gitea.mouse84.com/kim.kanghee/idrac-info:latest sh -lc "command -v racadm && command -v ipmitool && ipmitool -V"

Registry

Gitea Actions builds and pushes these tags on main:

gitea.mouse84.com/kim.kanghee/idrac-info:latest
gitea.mouse84.com/kim.kanghee/idrac-info:<short-sha>

If the package is private, log in before pulling:

docker login gitea.mouse84.com

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.