Skip to content

en.Installation Kubernetes

Jens Maus edited this page Oct 4, 2026 · 5 revisions

OpenCCU can be deployed on Kubernetes nodes with amd64 (x86_64) or arm64 (aarch64) architecture. This allows you to run OpenCCU together with other home automation components and to use Kubernetes features such as high availability. The deployment is performed via the openccu Helm chart.


Requirements

  • A Debian-based amd64 or arm64 host system (32-bit systems are no longer supported since OpenCCU 3.87.6.20260313).
  • A supported radio module connected to the Kubernetes node on which OpenCCU is to run.

Prepare the host to run Kubernetes (MicroK8s)

Note: There are official MicroK8s tutorials for other platforms. They have not been tested with OpenCCU. Experience reports and additions to this wiki are welcome.

  1. Ensure snapd is installed:
    sudo apt install snapd
  2. Install MicroK8s:
    sudo snap install microk8s --classic
  3. Enable the base add-ons:
    sudo microk8s enable dns helm storage
  4. Verify readiness:
    sudo microk8s status

Prepare the host for Homematic / Homematic IP devices

  1. Install the piVCCU kernel modules (required for radio modules such as RPI-RF-MOD, HM-MOD-RPI-PCB, HmIP-RFUSB as well as the HB-RF-USB(-2)/HB-RF-ETH adapters; at least version 1.0.88):
    wget -qO - https://apt.pivccu.de/piVCCU/public.key | sudo gpg --dearmor -o /usr/share/keyrings/pivccu-archive-keyring.gpg
    sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/pivccu-archive-keyring.gpg] https://apt.pivccu.de/piVCCU stable main" >/etc/apt/sources.list.d/pivccu.list'
    sudo apt update
    sudo apt install build-essential bison flex libssl-dev
    sudo apt install pivccu-modules-dkms
    Compiling the modules requires the kernel headers of the running kernel (e.g. linux-headers-rpi-v8 on Raspberry Pi OS or linux-headers-$(uname -r) on Debian/Ubuntu).
  2. Ensure the eq3_char_loop module is loaded on boot:
    echo eq3_char_loop | sudo tee /etc/modules-load.d/eq3_char_loop.conf
  3. Start/load the kernel modules now:
    sudo service pivccu-dkms start
    sudo modprobe eq3_char_loop
  4. For GPIO radio modules and the HmIP-RFUSB, the same additional steps (device tree overlays, udev rules) as for the Docker installation may be required.

Installing the OpenCCU Helm Chart

  1. Add the OpenCCU Helm repository:

    sudo microk8s helm repo add openccu https://openccu.github.io/OpenCCU
  2. Install OpenCCU

    The chart is based on the bjw-s common library. Its persistence settings (see the storage documentation) define where the OpenCCU data is stored. Without persistence enabled, the data is lost on a restart (only suitable for testing).

    Using a PersistentVolumeClaim (PVC):

    sudo microk8s helm install openccu openccu/openccu \
         --set persistence.data.enabled=true

    Or using a hostPath on the node:

    sudo microk8s helm install openccu openccu/openccu \
         --set persistence.data.enabled=true \
         --set persistence.data.type=hostPath \
         --set persistence.data.hostPath=<persistent data directory>
  3. If the deployment succeeds, Helm prints NOTES with instructions on how to access the WebUI. Afterwards, the first steps after installation help with the further setup.

  4. Further options are described for the chart on Artifact Hub: https://artifacthub.io/packages/helm/openccu/openccu

Updates

Updates are performed via Helm:

sudo microk8s helm repo update
sudo microk8s helm upgrade openccu openccu/openccu --reuse-values

Uninstallation

sudo microk8s helm uninstall openccu

A created PersistentVolumeClaim or the hostPath directory with the OpenCCU data is preserved and must be removed manually if desired.

Clone this wiki locally