# Dell iDRAC fan controller Docker image https://hub.docker.com/repository/docker/tigerblue77/dell_idrac_fan_controller
Table of Contents
  1. Container console log example
  2. Usage
  3. Parameters
  4. Contributing
## Container console log example ![image](https://user-images.githubusercontent.com/37409593/163174925-d3d20ed6-0f95-44e6-827d-368939435ba4.png)

(back to top)

## Prerequisites ### To access iDRAC over LAN (not needed in "local" mode) : 1. Log into your iDRAC web console ![001](https://user-images.githubusercontent.com/37409593/210168273-7d760e47-143e-4a6e-aca7-45b483024139.png) 2. In the left side menu, expand "iDRAC settings", click "Network" then click "IPMI Settings" link at the top of the web page. ![002](https://user-images.githubusercontent.com/37409593/210168249-994f29cc-ac9e-4667-84f7-07f6d9a87522.png) 3. Check the "Enable IPMI over LAN" checkbox then click "Apply" button. ![003](https://user-images.githubusercontent.com/37409593/210168248-a68982c4-9fe7-40e7-8b2c-b3f06fbfee62.png) 4. Test access to IPMI over LAN running the following commands : ```bash apt -y install ipmitool ipmitool -I lanplus \ -H \ -U \ -P \ sdr elist all ```

(back to top)

## Usage 1. with local iDRAC: ```bash docker run -d \ --name Dell_iDRAC_fan_controller \ --restart=unless-stopped \ -e IDRAC_HOST=local \ -e FAN_SPEED= \ -e CPU_TEMPERATURE_TRESHOLD= \ -e CHECK_INTERVAL= \ --device=/dev/ipmi0:/dev/ipmi0:rw \ tigerblue77/dell_idrac_fan_controller:latest ``` 2. with LAN iDRAC: ```bash docker run -d \ --name Dell_iDRAC_fan_controller \ --restart=unless-stopped \ -e IDRAC_HOST= \ -e IDRAC_USERNAME= \ -e IDRAC_PASSWORD= \ -e FAN_SPEED= \ -e CPU_TEMPERATURE_TRESHOLD= \ -e CHECK_INTERVAL= \ tigerblue77/dell_idrac_fan_controller:latest ``` `docker-compose.yml` examples: 1. to use with local iDRAC: ```yml version: '3' services: Dell_iDRAC_fan_controller: image: tigerblue77/dell_idrac_fan_controller:latest container_name: Dell_iDRAC_fan_controller restart: unless-stopped environment: - IDRAC_HOST=local - FAN_SPEED= - CPU_TEMPERATURE_TRESHOLD= - CHECK_INTERVAL= devices: - /dev/ipmi0:/dev/ipmi0:rw ``` 2. to use with LAN iDRAC: ```yml version: '3' services: Dell_iDRAC_fan_controller: image: tigerblue77/dell_idrac_fan_controller:latest container_name: Dell_iDRAC_fan_controller restart: unless-stopped environment: - IDRAC_HOST= - IDRAC_USERNAME= - IDRAC_PASSWORD= - FAN_SPEED= - CPU_TEMPERATURE_TRESHOLD= - CHECK_INTERVAL= ```

(back to top)

## Parameters All parameters are optional as they have default values (including default iDRAC username and password). - `IDRAC_HOST` parameter can be set to "local" or to your distant iDRAC's IP address. **Default** value is "local". - `IDRAC_USERNAME` parameter is only necessary if you're adressing a distant iDRAC. **Default** value is "root". - `IDRAC_PASSWORD` parameter is only necessary if you're adressing a distant iDRAC. **Default** value is "calvin". - `FAN_SPEED` parameter can be set as a decimal (from 0 to 100%) or hexadecimaladecimal value (from 0x00 to 0x64) you want to set the fans to. **Default** value is 5(%). - `CPU_TEMPERATURE_TRESHOLD` parameter is the T°junction (junction temperature) threshold beyond which the Dell fan mode defined in your BIOS will become active again (to protect the server hardware against overheat). **Default** value is 50(°C). - `CHECK_INTERVAL` parameter is the time (in seconds) between each temperature check and potential profile change. **Default** value is 60(s).

(back to top)

## Contributing Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again! 1. Fork the Project 2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) 3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) 4. Push to the Branch (`git push origin feature/AmazingFeature`) 5. Open a Pull Request

(back to top)