Easily manage your HP server's fans speeds, anywhere!

Overview

iLO Fans Controller

See my comment on r/homelab to know the reason why I made this!

How it works

  1. To get the current speeds of the fans, the PHP script will send a GET request to the iLO Fans Proxy, which will return a JSON array with the current readings.

  2. When you click the "Apply settings" button, the PHP script will send the necessary commands to manage the speed to the iLO SSH console.

  3. The fans speeds of the server are updated.

Installation

Requirements:

  • iLO with the fan hack;
  • A web server with PHP 7.4;
  • Python 3.9 with pip;

For this example, Ubuntu 21.04 with Apache 2 and PHP 7.4 is used.

To get started, clone this repository and "cd" into it.

iLO Fans Controller:

  1. Install PHP 7.4 build tools:

    $ sudo apt-get install php-pear php7.4-dev
  2. Install the SSH2 extension:

    $ sudo pecl install ssh2-alpha
  3. Add the extension to the /etc/php/7.4/apache2/php.ini file:

    ...
    ;extension=pdo_pgsql
    ;extension=pdo_sqlite
    ;extension=pgsql
    ;extension=shmop
    + extension=ssh2.so
    
    ; The MIBS data available in the PHP distribution must be installed.
    ...
  4. Restart Apache:

    $ sudo systemctl restart apache2
  5. Copy the ilo-fans-controller.php file to /var/www/html/:

    $ sudo cp ilo-fans-controller.php /var/www/html/

iLO Fans Proxy:

  1. Install python requirements:

    $ pip3 install -r requirements.txt
    
  2. Run the python script:

    $ gunicorn -w 1 -b 0.0.0.0:8000 -k uvicorn.workers.UvicornWorker main:app
    8000 can be changed to whatever port you want, only remember to change it on the php script and check if it's not used by another service.
    You can also create a service to run the script automatically on startup...

    Create a new file /etc/systemd/system/ilo-fans-proxy.service and write the following in it (making sure to change the placeholders):

    [Unit]
    Description=Gunicorn instance to serve iLO Fans Proxy
    After=network.target
    
    [Service]
    User=<user>
    Group=www-data
    WorkingDirectory=<parent directory of the python script>
    ExecStart=gunicorn -w 1 -b 0.0.0.0:<port> -k uvicorn.workers.UvicornWorker main:app
    
    [Install]
    WantedBy=multi-user.target

    Then enable and start it:

    $ sudo systemctl enable ilo-fans-proxy.service
    $ sudo systemctl start ilo-fans-proxy.service
You might also like...
DomainMOD is an open source application written in PHP & MySQL used to manage your domains and other internet assets in a central location
DomainMOD is an open source application written in PHP & MySQL used to manage your domains and other internet assets in a central location

DomainMOD is an open source application written in PHP & MySQL used to manage your domains and other internet assets in a central location. DomainMOD also includes a Data Warehouse framework that allows you to import your web server data so that you can view, export, and report on your live data.

Now Introducing a new and easy way to manage your clients and MyOwnFreeHost hosting accounts.

Warning This is a beta version of Xera. Use it for testing purpose only. You are be responsible for any loss or damages that may occor from using this

Easily self host your documentation.
Easily self host your documentation.

Docs for Laravel Generate docs for your projects Support us Like our work? You can support us by purchasing one of our products. Installation WIP, do

📇A contacts app for Nextcloud. Easily sync contacts from various devices with your Nextcloud and edit them online.
📇A contacts app for Nextcloud. Easily sync contacts from various devices with your Nextcloud and edit them online.

Nextcloud Contacts A contacts app for Nextcloud. Easily sync contacts from various devices with your Nextcloud and edit them online. This app only sup

Simple web interface to manage Redis databases.

phpRedisAdmin phpRedisAdmin is a simple web interface to manage Redis databases. It is released under the Creative Commons Attribution 3.0 license. Th

PHP backend Scripts to add and Manage Live tv Streaming android app
PHP backend Scripts to add and Manage Live tv Streaming android app

PHP Backend to Manage Live TV Streaming Android app Follow Given Steps to Setup Local Environment to run this php Script Setting Up Local Environment

MOFHY Lite is a free web hosting management system to manage MOFH hosting accounts and SSL certificates.

MOFHY Lite is a free of cost MOFH clientarea for account management and support services with free ssl service. It have easy to use feature

This web app aims to manage alumnus databases.

Aplikasi Database Alumni Aplikasi berbasis web ini bertujuan untuk melakukan pendataan alumni. Aplikasi ini dibuat menggunakan framework CodeIgniter d

Comments
  • Will this work with firmware v2.77 fan hack?

    Will this work with firmware v2.77 fan hack?

    Hi,

    will this HP-ILO-Fan-Control work also with 2.77 fan hack "ilo4_unlock (Silence of the Fans)" (https://github.com/kendallgoto/ilo4_unlock)? If not, are there any plans to bring support for it?

    Thanks in advance!

    opened by NikuZai 6
Owner
Matteo D.
Messing up with technology.
Matteo D.
Server manager is a open source project made for people so that they can add the servers to one single place irrespective of their provider and manage it through one location.

Server Manager Are you sick of having to log into hundreads of different website just to access your server? Well we got you, Server manager is a open

null 8 Aug 9, 2022
ControlPanel's Dashboard is a dashboard application designed to offer clients a management tool to manage their pterodactyl servers.

Features PayPal Integration Email Verification Audit Log Admin Dashboard User/Server Management Store (credit system) Vouchers and so much more! Contr

ControlPanel.gg 223 Jan 5, 2023
ViMbAdmin project provides a web based virtual mailbox administration system to allow mail administrators to easily manage domains, mailboxes and aliases.

ViMbAdmin project (vim-be-admin) provides a web based virtual mailbox administration system to allow mail administrators to easily manage domains, mailboxes and aliases.

Open Solutions 464 Jan 1, 2023
ATOS is a locally hosted application that allows you to easily manage clients/projects, generate invoices against backlogs, and estimate taxes.

Built by freelancer ??‍♂️, for freelancer ?? ?? ???? - ATOS is a locally hosted application that allows you to easily manage clients/projects, generate invoices against backlogs, and estimate taxes.

Jon Belelieu 33 Dec 27, 2022
WebDirStat is a disk usage utility for web servers written in PHP

WebDirStat is disk usage utility for web servers, it’s a single PHP file that gives you statistics about disk usage inside a specific Directory ordered by size, in a form of a simple tree table.

Yassine 2 Oct 14, 2021
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.

Lychee A great looking and easy-to-use photo-management-system. Since the 1st of April 2018 this project has moved to it's own Organisation (https://g

Tobias Reich 6.2k Jan 5, 2023
Dolibarr ERP & CRM is a modern software package that helps manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda…).

Dolibarr ERP CRM is a modern software package to manage your company or foundation activity (contacts, suppliers, invoices, orders, stocks, agenda, accounting, ...). It is open source software written in PHP and designed for small and medium businesses, foundations and freelancers. You can freely install, use and distribute it as a standalone application or as a web application to use it from every internet access and media.

Dolibarr ERP & CRM 3.7k Jan 7, 2023
Instagram automation represents the use of third-party software to manage your account, carry out tasks and/or interact with users without a human present. Bulit in Laravel Framework

How to Deploy laravel project to heroku Video Link : https://youtu.be/7Nq_a2QiaHo Home Page Login Page Dashboard Page About Laravel Laravel is a web a

null 1 Dec 3, 2021
A tool to manage your families and friends recipes like a chef.

RecipeManager Api and Frontend to Manage your recipes. Written with Laravel and Vue.js. A tool to manage your families and friends recipes like a chef

Suhype 34 Nov 27, 2022
A PHP based web application to help manage your postmortems

morgue a safe place for all your postmortem data Overview This is a PHP based web application to help manage your postmortems. It has a pluggable feat

Etsy, Inc. 1k Dec 29, 2022