{ "1.1.2": { "healthy": true, "supported": true, "healthy_error": null, "location": "/__w/charts/charts/community/unifi-controller/1.1.2", "last_update": "2023-11-14 10:11:57", "required_features": [ "definitions/certificate", "definitions/timezone", "normalize/ixVolume" ], "human_version": "7.5.176_1.1.2", "version": "1.1.2", "chart_metadata": { "name": "unifi-controller", "description": "Unifi Controller is a network management controller for Unifi Equipment.", "annotations": { "title": "Unifi Controller" }, "type": "application", "version": "1.1.2", "apiVersion": "v2", "appVersion": "7.5.176", "kubeVersion": ">=1.16.0-0", "maintainers": [ { "name": "truenas", "url": "https://www.truenas.com/", "email": "dev@ixsystems.com" } ], "dependencies": [ { "name": "common", "repository": "file://../../../common", "version": "1.2.2" } ], "home": "https://github.com/jacobalberty/unifi-docker", "icon": "https://media.sys.truenas.net/apps/unifi-controller/icons/icon.png", "sources": [ "https://github.com/jacobalberty/unifi-docker", "https://github.com/truenas/charts/tree/master/library/ix-dev/community/unifi-controller", "https://hub.docker.com/r/jacobalberty/unifi" ], "keywords": [ "network", "controller", "unifi" ] }, "app_metadata": { "runAsContext": [ { "userName": "unifi", "groupName": "unifi", "gid": 999, "uid": 999, "description": "Unifi runs as a non-root user." } ], "capabilities": [], "hostMounts": [] }, "schema": { "groups": [ { "name": "Unifi Controller Configuration", "description": "Configure Unifi Controller" }, { "name": "Network Configuration", "description": "Configure Network for Unifi Controller" }, { "name": "Storage Configuration", "description": "Configure Storage for Unifi Controller" }, { "name": "Resources Configuration", "description": "Configure Resources for Unifi Controller" } ], "portals": { "web_portal": { "protocols": [ "$kubernetes-resource_configmap_portal_protocol" ], "host": [ "$kubernetes-resource_configmap_portal_host" ], "ports": [ "$kubernetes-resource_configmap_portal_port" ], "path": "$kubernetes-resource_configmap_portal_path" } }, "questions": [ { "variable": "TZ", "group": "Unifi Controller Configuration", "label": "Timezone", "schema": { "type": "string", "default": "America/Los_Angeles", "required": true, "$ref": [ "definitions/timezone" ], "enum": [ { "value": "Asia/Damascus", "description": "'Asia/Damascus' timezone" }, { "value": "Asia/Saigon", "description": "'Asia/Saigon' timezone" } ] } }, { "variable": "unifiConfig", "label": "", "group": "Unifi Controller Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "additionalEnvs", "label": "Additional Environment Variables", "description": "Configure additional environment variables for Unifi Controller.", "schema": { "type": "list", "default": [], "items": [ { "variable": "env", "label": "Environment Variable", "schema": { "type": "dict", "attrs": [ { "variable": "name", "label": "Name", "schema": { "type": "string", "required": true } }, { "variable": "value", "label": "Value", "schema": { "type": "string", "required": true } } ] } } ] } } ] } }, { "variable": "unifiNetwork", "label": "", "group": "Network Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "webHttpsPort", "label": "Web HTTPS Port", "description": "The HTTPS port for the Unifi Controller Web UI.", "schema": { "type": "int", "default": 30072, "min": 9000, "max": 65535, "required": true } }, { "variable": "enableWebHttp", "label": "Enable Web HTTP", "description": "Enable HTTP for the Unifi Controller Web UI.", "schema": { "type": "boolean", "default": false } }, { "variable": "webHttpPort", "label": "Web HTTP Port", "description": "The HTTP port for the Unifi Controller Web UI.", "schema": { "type": "int", "default": 30073, "show_if": [ [ "enableWebHttp", "=", true ] ], "min": 9000, "max": 65535, "required": true } }, { "variable": "portalHttpsPort", "label": "Portal HTTPS Port", "description": "The HTTPS port for the Unifi Controller Portal.", "schema": { "type": "int", "default": 30074, "min": 9000, "max": 65535, "required": true } }, { "variable": "enablePortalHttp", "label": "Enable Portal HTTP", "description": "Enable HTTP for the Unifi Controller Portal.", "schema": { "type": "boolean", "default": false } }, { "variable": "portalHttpPort", "label": "Portal HTTP Port", "description": "The HTTP port for the Unifi Controller Portal.", "schema": { "type": "int", "default": 30075, "show_if": [ [ "enablePortalHttp", "=", true ] ], "min": 9000, "max": 65535, "required": true } }, { "variable": "certificateID", "label": "Certificate", "description": "The certificate to use for Unifi Controller", "schema": { "type": "int", "null": true, "$ref": [ "definitions/certificate" ], "enum": [ { "value": null, "description": "No Certificate" } ], "default": null } }, { "variable": "hostNetwork", "label": "Host Network", "description": "Bind to the host network. \nThis might be required for specific features like STUN.\n", "schema": { "type": "boolean", "default": false } } ] } }, { "variable": "unifiStorage", "label": "", "group": "Storage Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "data", "label": "Unifi Controller Data Storage", "description": "The path to store Unifi Controller Data.", "schema": { "type": "dict", "attrs": [ { "variable": "type", "label": "Type", "description": "ixVolume: Is dataset created automatically by the system.\nHost Path: Is a path that already exists on the system.\n", "schema": { "type": "string", "required": true, "immutable": true, "default": "ixVolume", "enum": [ { "value": "hostPath", "description": "Host Path (Path that already exists on the system)" }, { "value": "ixVolume", "description": "ixVolume (Dataset created automatically by the system)" } ] } }, { "variable": "datasetName", "label": "Dataset Name", "schema": { "type": "string", "show_if": [ [ "type", "=", "ixVolume" ] ], "required": true, "hidden": true, "immutable": true, "default": "data", "$ref": [ "normalize/ixVolume" ] } }, { "variable": "hostPath", "label": "Host Path", "schema": { "type": "hostpath", "show_if": [ [ "type", "=", "hostPath" ] ], "immutable": true, "required": true } } ] } }, { "variable": "additionalStorages", "label": "Additional Storage", "description": "Additional storage for Unifi Controller.", "schema": { "type": "list", "default": [], "items": [ { "variable": "storageEntry", "label": "Storage Entry", "schema": { "type": "dict", "attrs": [ { "variable": "type", "label": "Type", "description": "ixVolume: Is dataset created automatically by the system.\nHost Path: Is a path that already exists on the system.\nSMB Share: Is a SMB share that is mounted to a persistent volume claim.\n", "schema": { "type": "string", "required": true, "default": "ixVolume", "immutable": true, "enum": [ { "value": "hostPath", "description": "Host Path (Path that already exists on the system)" }, { "value": "ixVolume", "description": "ixVolume (Dataset created automatically by the system)" }, { "value": "smb-pv-pvc", "description": "SMB Share (Mounts a persistent volume claim to a SMB share)" } ] } }, { "variable": "mountPath", "label": "Mount Path", "description": "The path inside the container to mount the storage.", "schema": { "type": "path", "required": true } }, { "variable": "hostPath", "label": "Host Path", "description": "The host path to use for storage.", "schema": { "type": "hostpath", "show_if": [ [ "type", "=", "hostPath" ] ], "required": true } }, { "variable": "datasetName", "label": "Dataset Name", "description": "The name of the dataset to use for storage.", "schema": { "type": "string", "show_if": [ [ "type", "=", "ixVolume" ] ], "required": true, "immutable": true, "default": "storage_entry", "$ref": [ "normalize/ixVolume" ] } }, { "variable": "server", "label": "Server", "description": "The server for the SMB share.", "schema": { "type": "string", "show_if": [ [ "type", "=", "smb-pv-pvc" ] ], "required": true } }, { "variable": "share", "label": "Share", "description": "The share name for the SMB share.", "schema": { "type": "string", "show_if": [ [ "type", "=", "smb-pv-pvc" ] ], "required": true } }, { "variable": "domain", "label": "Domain (Optional)", "description": "The domain for the SMB share.", "schema": { "type": "string", "show_if": [ [ "type", "=", "smb-pv-pvc" ] ] } }, { "variable": "username", "label": "Username", "description": "The username for the SMB share.", "schema": { "type": "string", "show_if": [ [ "type", "=", "smb-pv-pvc" ] ], "required": true } }, { "variable": "password", "label": "Password", "description": "The password for the SMB share.", "schema": { "type": "string", "show_if": [ [ "type", "=", "smb-pv-pvc" ] ], "required": true, "private": true } }, { "variable": "size", "label": "Size (in Gi)", "description": "The size of the volume quota.", "schema": { "type": "int", "show_if": [ [ "type", "=", "smb-pv-pvc" ] ], "required": true, "min": 1, "default": 1 } } ] } } ] } } ] } }, { "variable": "resources", "group": "Resources Configuration", "label": "", "schema": { "type": "dict", "attrs": [ { "variable": "limits", "label": "Limits", "schema": { "type": "dict", "attrs": [ { "variable": "cpu", "label": "CPU", "description": "CPU limit for Unifi Controller.", "schema": { "type": "string", "max_length": 6, "valid_chars": "^(0\\.[1-9]|[1-9][0-9]*)(\\.[0-9]|m?)$", "valid_chars_error": "Valid CPU limit formats are\n- Plain Integer - eg. 1\n- Float - eg. 0.5\n- Milicpu - eg. 500m\n", "default": "4000m", "required": true } }, { "variable": "memory", "label": "Memory", "description": "Memory limit for Unifi Controller.", "schema": { "type": "string", "max_length": 12, "valid_chars": "^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$", "valid_chars_error": "Valid Memory limit formats are\n- Suffixed with E/P/T/G/M/K - eg. 1G\n- Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi\n- Plain Integer in bytes - eg. 1024\n- Exponent - eg. 134e6\n", "default": "8Gi", "required": true } } ] } } ] } } ] }, "app_readme": "
Unifi Controller is a network management controller for Unifi Equipment.
\n\n", "detailed_readme": "When application is installed, a container will be launched with root privileges.\nThis is required in order to apply the correct permissions to the
\nUnifi Controller
directories.\nAfterward, theUnifi Controller
container will run as a non-root user (999
).\nAll mounted storage(s) will bechown
ed only if the parent directory does not match the configured user.
Unifi Controller is a network management controller for Unifi Equipment.
\n\n", "changelog": null } }When application is installed, a container will be launched with root privileges.\nThis is required in order to apply the correct permissions to the
\nUnifi Controller
directories.\nAfterward, theUnifi Controller
container will run as a non-root user (999
).\nAll mounted storage(s) will bechown
ed only if the parent directory does not match the configured user.