Install Custom Drivers in NodeRed
2 minute read
NodeRed is running on Alpine Linux as non-root user. This means that you can’t
install packages with apk. This tutorial shows you how to install packages
with proper security measures.
Before you begin
You need to have a UMH cluster. If you do not already have a cluster, you can create one by using the Management Console .
Change the security context
From the StatefulSets section in UMHLens / OpenLens, click on united-manufacturing-hub-nodered to open the details page.
Click the Edit button to open the StatefulSet’s configuration.
Press
Ctrl+Fand search forsecurityContext.Set the values of the
runAsUserfield to 0, offsGroupto 0, and ofrunAsNonRootto false.... securityContext: runAsUser: 0 restartPolicy: Always terminationGracePeriodSeconds: 30 dnsPolicy: ClusterFirst securityContext: runAsUser: 0 runAsNonRoot: false fsGroup: 0 ...Click Save.
Install the packages
From the Pods section in UMHLens / OpenLens, click on united-manufacturing-hub-nodered-0 to open the details page.
Click the Pod Shell button to open a shell in the container.
Install the packages with
apk:apk add <package>For example, to install
unixodbc:apk add unixodbcYou can find the list of available packages here .
Exit the shell.
Revert the security context
For security reasons, you should revert the security context after you install the packages.
From the StatefulSets section in UMHLens / OpenLens, click on united-manufacturing-hub-nodered to open the details page.
Click the Edit button to open the StatefulSet’s configuration.
Set the values of the
runAsUserfield to 1000, offsGroupto 1000, and ofrunAsNonRootto true.... securityContext: runAsUser: 1000 restartPolicy: Always terminationGracePeriodSeconds: 30 dnsPolicy: ClusterFirst securityContext: runAsUser: 1000 runAsNonRoot: true fsGroup: 1000 ...Click Save.

