Installation Kubernetes - OpenCCU/OpenCCU GitHub Wiki

OpenCCU can be deployed on Kubernetes nodes running x86_64, arm, or arm64. This allows you to co‑locate OpenCCU with other home‑automation components and to leverage Kubernetes features such as high availability.


Requirements

Debian/Ubuntu‑based host system

Prepare the host to run Kubernetes (MicroK8s)

Note: There are official MicroK8s tutorials for non‑Linux platforms. They have not been tested with OpenCCU. If you try them, please share your experience and contribute to the wiki if you get it working.

  1. Ensure snapd is installed:
    sudo apt install snapd
    
  2. Install MicroK8s:
    sudo snap install microk8s --classic
    
  3. Enable 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 piVCCU kernel modules (required for GPIO/USB RF modules like RPI‑RF‑MOD / HM‑MOD‑RPI‑PCB / HmIP‑RFUSB):
    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
    
  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 required kernel modules now:
    sudo service pivccu-dkms start
    sudo modprobe eq3_char_loop
    

Install 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 has been upgraded to use the bjw‑s common library chart. This adds more tuning options and removes boilerplate from our chart, but it slightly changes persistence settings.

    • New chart versions (> 3.65.11.20221005):

      Choose how to persist OpenCCU data (see the library’s storage docs). By default, a new PVC is created. If you do not enable persistence, data will be lost across reboots (only suitable for testing).

      Use a PVC:

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

      Or use 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>
      
    • Old chart versions (<= 3.65.11.20221005):

      sudo microk8s helm install openccu openccu/openccu
      

      If you are not using the storage add‑on, provide a hostPath:

      sudo microk8s helm install openccu openccu/openccu        --set persistence.hostPath=<persistent data directory>
      
  3. If the deployment succeeds, Helm prints NOTES with instructions on how to connect to the WebUI.

  4. For additional options, see the chart on Artifact Hub:
    https://artifacthub.io/packages/helm/openccu/openccu