Skip to content

CoolerControl

Monitoring matériel des capteurs CPU et ventilateurs carte mère, avec contrôle PWM des vitesses.

Configuration docker-compose.yaml :

coolercontrol:
    image: coolercontrol/coolercontrold:latest
    container_name: coolercontrol
    ports:
        - 11987:11987
    volumes:
        - ./coolercontrol:/etc/coolercontrol
        - /sys/class/hwmon:/sys/class/hwmon
        - /sys/devices:/sys/devices
    restart: unless-stopped

Important : Les volumes sysfs doivent être montés sans :ro pour permettre l'écriture des valeurs PWM (contrôle vitesse ventilateurs).

Devices détectés :

  • Intel Core i5-6400 (coretemp) : capteurs température CPU
  • ITE IT8628F (it87) : 5 en-têtes fans + températures + voltages
    • fan2 = Noctua NF-P12 avant (intake, ~670 RPM)
    • fan3 = Noctua NF-P12 arrière (exhaust, ~685 RPM)
    • fan1 = CPU_FAN header non connecté (heatsink passif NH-U12P SE2)

Accès :

Vérification :

# Devices détectés
pct exec 101 -- docker logs coolercontrol | grep "Initialized"

# Test API
curl -s http://192.168.1.101:11987/devices | python3 -m json.tool

# Capteurs directs sur le host
sensors   # it8628-isa-0a40 doit afficher fan2 et fan3

Prérequis hôte Proxmox :

Module kernel it87 requis — voir Configuration Chipset ITE IT8628F

Prérequis LXC 101 (/etc/pve/lxc/101.conf) :

lxc.mount.auto: proc:mixed sys:rw

sys:rw est indispensable pour que CoolerControl puisse écrire les valeurs PWM dans sysfs. Le LXC reste non-privilégié : le uid remapping limite les écritures aux fichiers accessibles à l'uid mappé (100000). La règle udev /etc/udev/rules.d/60-coolercontrol-pwm.rules assigne chgrp 100000 + 664 sur les fichiers pwm* de l'it8628 au démarrage.

Configuration profil ventilateurs :

Profil "Silent Thermal" : courbe basée sur temp CPU i5-6400, plancher 25% minimum (le heatsink passif NH-U12P SE2 n'a pas de fan propre — les NF-P12 boîtier sont le seul flux d'air). Configurable via l'UI dans Controls → it8628 → fan2/fan3.