.. | ||
ci | ||
templates | ||
.helmignore | ||
Chart.yaml | ||
README_CHANGELOG.md.gotmpl | ||
README_CONFIG.md.gotmpl | ||
README.md | ||
README.md.gotmpl | ||
values.yaml |
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 | 10.28.7 |
https://library-charts.k8s-at-home.com | common | 4.0.1 |
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.ports
and 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 theMixedProtocolLBService
feature 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 | "v6.2.26" |
image tag |
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. |
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
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[4.2.2]
Fixed
- Move HTTPS protocol declaration for default web UI port from ingress annotations to service port attribute.
4.0.0
Changed
- Upgraded the common library dependency to version 4.0.0. This introduced (potentially) breaking changes to
initContainers
andadditionalContainers
. Be sure to check out the library chart for the up-to-date values.
3.1.0
Added
- Support for running with an external MongoDB instance has been reimplemented.
Fixed
- The chart is now compatible again with PVC's that were created with chart versions < 3.0.0.
3.0.0
Changed
- BREAKING: Migrated chart to common library. This means that there are many things that work different from before. Please check the
values.yaml
file for the current implementation. - Changed image tag to
v6.2.26
.
Removed
- BREAKING: Removed support for deploying a separate MongoDB instance.
- BREAKING: Removed support for specifying custom configMaps in chart values.
- BREAKING: Removed chart-specific Promtail implementation. This can be replaced by using the common library charts Promtail add-on.
2.0.4
Changed
- Bump controller version to 6.2.25
2.0.2
Fixed
- Separate syslog service is only created when enabled and unifiedService is disabled.
2.0.1
Changed
- Updated icon url
1.5.3
Changed
- Use helm-docs
Support
Autogenerated from chart metadata using helm-docs v1.5.0