vertex / liquidctl-docker

Dockerized version of liquidctl - specially for use with UnRAID

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

liquidctl in container with multiarch support

Image is automatically updated and maintained.
Supported architectures are amd64, arm64, arm.

All kudos for liquidctl to the developers / contributors.

You can find the weekly docker build in this container

The container is intended for use with UnRAID, as this is my usecase. But it should work fine in any other environment. I'm maintaining this repository and doing my best to add features and wishes from you.

Prerequisites

I highly recommend to use the following plugin for UnRAID from the Community Applications:

Determine your USB-serial and "bus port"

I use this for easy detection of the serial of the USB-device, as which the AIO-cooler will be detected. As there is no guarantee, the AIO-cooler will be mapped to the container alone, the serial explicitly addresses this device.

Also you need the "port" from the usb bus, so you can map the device to the container.

In my example this would be /sys/bus/usb/devices/3-6.3

Serial Example

Choose fan- and pumpspeeds

IMPORTANT: in my configuration, the only temperature the container can read is the one, reported by the AIO-Cooler (NZXT Z63), which is the liquid-temperature. So all the temperature values are meant for liquid-temperature. In your configuration this can be different, so you need to check, what temperature liquidctl reads out.

As mentioned in the README from liquidctl you can choose to set a fixed fan- or pump-speed, or make it dependent on the temperature.

You set these values for the container with the variables FANSPEED and PUMPSPEED.

FANSPEED=75    -> will set the fanspeed fixed to 75% independently of temperature
PUMPSPEED=85    -> will set the pumpspeed fixed to 85% independently of temperature


FANSPEED=20 50 30 60 35 70 40 100   -> will set the fanspeed at 20°C to 50% | at 30°C to 60% | at 35°C 70% | at 40°C to 100%
PUMPSPEED=20 60 30 70 35 80 40 100   -> will set the pumpspeed at 20°C to 60% | at 30°C to 70% | at 35°C 80% | at 40°C to 100%

The speed between temperatures will be mapped linear i.e. if you set "FANSPEED=20 50 40 100" the fanspeed at 30°C will be 75%

The container logs useful information in the beginning and continues to output temperatures and fan- / pump-speeds as it runs. So consider to limit the logfile-size for the container e.g. "--log-opt max-size=5m --log-opt max-file=1"

Docker Logs

Start your container

You can add the container via the "Docker" tab in your UnRAID:

Add Docker UnRAID

Or via command-line:

docker run -d \
  --device /sys/bus/usb/devices/<your-device-id> \
  --privileged \
  -e MATCH=<your-serial>
  -e PUMPSPEED=<your-pumpspeed>
  -e FANSPEED=<your-fanspeed>
  --restart=unless-stopped avpnusr/liquidctl

About

Dockerized version of liquidctl - specially for use with UnRAID


Languages

Language:Dockerfile 65.5%Language:Shell 34.5%