unifi
Ubiquiti Network's Unifi Controller
This chart is not maintained by the upstream project and any issues with the chart should be raised here
Source Code
Requirements
Dependencies
| Repository | Name | Version |
|---|---|---|
| https://charts.bitnami.com/bitnami | mongodb | 12.1.22 |
| https://library-charts.k8s-at-home.com | common | 4.5.2 |
TL;DR
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install unifi k8s-at-home/unifi
Installing the Chart
To install the chart with the release name unifi
helm install unifi k8s-at-home/unifi
Uninstalling the Chart
To uninstall the unifi deployment
helm uninstall unifi
The command removes all the Kubernetes components associated with the chart including persistent volumes and deletes the release.
Configuration
Read through the values.yaml file. It has several commented out suggested values. Other values may be used from the values.yaml from the common library.
Specify each parameter using the --set key=value[,key=value] argument to helm install.
helm install unifi \
--set env.TZ="America/New York" \
k8s-at-home/unifi
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
helm install unifi k8s-at-home/unifi -f values.yaml
Custom configuration
Running with separate MongoDB
By default the Unifi controller runs an internal MongoDB.
If you wish to run the chart with a separate MongoDB instance our chart provides the option to enable a MongoDB instance by adding the following in your values.yaml:
mongodb:
enabled: true
(For more configuration options see the mongodb chart documentation.)
If you do not specify any other configuration, the required environment variables will be inferred automatically. It is also possible to override the environment variables to configure the image. See here for more details.
Regarding the services
By default it is not possible to combine TCP and UDP ports on a service with type: LoadBalancer. This can be solved in a number of ways:
- Create a separate service containing the UDP ports. This could be done by setting disabling the UDP ports under
service.main.portsand adding the following in yourvalues.yaml:
service:
udp:
enabled: true
type: LoadBalancer
# <your other service configuration>
ports:
stun:
enabled: true
port: 3478
protocol: UDP
syslog:
enabled: true
port: 5514
protocol: UDP
discovery:
enabled: true
port: 10001
protocol: UDP
-
Since Kubernetes 1.20 there is a feature gate that can be enabled to allow TCP and UDP ports to coexist on Services with
type: Loadbalancer. You will need to enable theMixedProtocolLBServicefeature gate in order to achieve this.For more information about feature gates, please see the docs.
Values
Important: When deploying an application Helm chart you can add more values from our common library chart here
| Key | Type | Default | Description |
|---|---|---|---|
| env | object | See below | environment variables. See more environment variables in the image documentation. |
| env.JVM_INIT_HEAP_SIZE | string | nil |
Java Virtual Machine (JVM) initial, and minimum, heap size Unset value means there is no lower limit |
| env.JVM_MAX_HEAP_SIZE | string | "1024M" |
Java Virtual Machine (JVM) maximum heap size For larger installations a larger value is recommended. For memory constrained system this value can be lowered. |
| env.RUNAS_UID0 | string | "false" |
Run UniFi as root |
| env.TZ | string | "UTC" |
Set the container timezone |
| env.UNIFI_GID | string | "999" |
Specify the group ID the application will run as |
| env.UNIFI_UID | string | "999" |
Specify the user ID the application will run as |
| image.pullPolicy | string | "IfNotPresent" |
image pull policy |
| image.repository | string | "jacobalberty/unifi" |
image repository |
| image.tag | string | nil |
|
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| ingress.portal | object | See values.yaml | Enable and configure settings for the captive portal ingress under this key. |
| mongodb | object | See values.yaml | Enable and configure mongodb database subchart under this key. For more options see mongodb chart documentation |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
| podSecurityContext | object | See below | pod security context. |
| service | object | See values.yaml | Configures service settings for the chart. |
| service.main.ports.controller | object | See values.yaml | Configure Controller port used for device command/control |
| service.main.ports.discovery | object | See values.yaml | Configure device discovery port |
| service.main.ports.http | object | See values.yaml | Configure Web interface + API port |
| service.main.ports.portal-http | object | See values.yaml | Configure Captive Portal HTTP port |
| service.main.ports.portal-https | object | See values.yaml | Configure Captive Portal HTTPS port |
| service.main.ports.speedtest | object | See values.yaml | Configure Speedtest port (used for UniFi mobile speed test) |
| service.main.ports.stun | object | See values.yaml | Configure STUN port |
| service.main.ports.syslog | object | See values.yaml | Configure remote syslog port |
Changelog
Version 5.1.2
Added
N/A
Changed
- Upgraded
commonchart dependency to version 4.5.2
Fixed
N/A
Older versions
A historical overview of changes can be found on ArtifactHUB
Support
Autogenerated from chart metadata using helm-docs v0.1.1