description:"Sets the UMASK env var for LinuxServer.io (compatible) containers"
schema:
type:string
default:"002"
- variable:PUID
label:"PUID"
description:"Sets the User ID the Logitech Server Application should use."
schema:
type:int
default:568
- variable:envList
label:"Image environment"
group:"Container Configuration"
schema:
type:list
default:[]
items:
- variable:envItem
label:"Environment Variable"
schema:
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:expertpodconf
group:"Container Configuration"
label:"Show Expert Config"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:termination
group:"Container Configuration"
label:"Termination settings"
schema:
type:dict
attrs:
- variable:gracePeriodSeconds
label:"Grace Period Seconds"
schema:
type:int
default:10
- variable:podLabelsList
group:"Container Configuration"
label:"Pod Labels"
schema:
type:list
default:[]
items:
- variable:podLabelItem
label:"Label"
schema:
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:podAnnotationsList
group:"Container Configuration"
label:"Pod Annotations"
schema:
type:list
default:[]
items:
- variable:podAnnotationItem
label:"Label"
schema:
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:service
group:"Networking and Services"
label:"Configure Service(s)"
schema:
type:dict
attrs:
- variable:main
label:"Main Service"
description:"Logitech Media Web UI and music streaming"
schema:
type:dict
attrs:
- variable:enabled
label:"Enable the service"
schema:
type:boolean
default:true
hidden:true
- variable:type
label:"Service Type"
description:"ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
schema:
type:string
default:"LoadBalancer"
enum:
- value:"NodePort"
description:"NodePort"
- value:"ClusterIP"
description:"ClusterIP"
- value:"LoadBalancer"
description:"LoadBalancer"
- variable:loadBalancerIP
label:"LoadBalancer IP"
description:"LoadBalancerIP"
schema:
show_if:[["type","=","LoadBalancer"]]
type:string
default:""
- variable:externalIPs
label:"External IP's"
description:"External IP's"
schema:
show_if:[["type","=","LoadBalancer"]]
type:list
default:[]
items:
- variable:externalIP
label:"External IP"
schema:
type:string
- variable:ports
label:"Service's Port(s) Configuration"
schema:
type:dict
attrs:
- variable:main
label:"Web Interface and music streaming port"
schema:
type:dict
attrs:
- variable:enabled
label:"Enable the port"
schema:
type:boolean
default:true
hidden:true
- variable:protocol
label:"Port Type"
schema:
type:string
default:"TCP"
enum:
- value:HTTP
description:"HTTP"
- value:"HTTPS"
description:"HTTPS"
- value:TCP
description:"TCP"
- value:"UDP"
description:"UDP"
- variable:port
label:"Container Port"
schema:
type:int
default:7000
editable:true
required:true
- variable:nodePort
label:"Node Port (Optional)"
description:"This port gets exposed to the node. Only considered when service type is NodePort"
description:"Logitech Media Server Telnet Command Line Interface"
schema:
type:dict
attrs:
- variable:enabled
label:"Enable the service"
schema:
type:boolean
default:true
hidden:true
- variable:type
label:"Service Type"
description:"ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
schema:
type:string
default:"LoadBalancer"
enum:
- value:"NodePort"
description:"NodePort"
- value:"ClusterIP"
description:"ClusterIP"
- value:"LoadBalancer"
description:"LoadBalancer"
- variable:loadBalancerIP
label:"LoadBalancer IP"
description:"LoadBalancerIP"
schema:
show_if:[["type","=","LoadBalancer"]]
type:string
default:""
- variable:externalIPs
label:"External IP's"
description:"External IP's"
schema:
show_if:[["type","=","LoadBalancer"]]
type:list
default:[]
items:
- variable:externalIP
label:"External IP"
schema:
type:string
- variable:ports
label:"Service's Port(s) Configuration"
schema:
type:dict
attrs:
- variable:cli
label:"Port used for remote control using the Telnet Command Line interface"
schema:
type:dict
attrs:
- variable:enabled
label:"Enable the port"
schema:
type:boolean
default:true
hidden:true
- variable:protocol
label:"Port Type"
schema:
type:string
default:"TCP"
enum:
- value:HTTP
description:"HTTP"
- value:"HTTPS"
description:"HTTPS"
- value:TCP
description:"TCP"
- value:"UDP"
description:"UDP"
- variable:port
label:"Container Port"
schema:
type:int
default:9090
editable:true
required:true
- variable:nodePort
label:"Node Port (Optional)"
description:"This port gets exposed to the node. Only considered when service type is NodePort"
label:"Logitech Media Server Player TCP Communcation"
description:"Logitech Media Server Player Service for TCP communication"
schema:
type:dict
attrs:
- variable:enabled
label:"Enable the service"
schema:
type:boolean
default:true
hidden:true
- variable:type
label:"Service Type"
description:"ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
description:"Logitech Media Server Player Service for UDP communication"
schema:
type:dict
attrs:
- variable:enabled
label:"Enable the service"
schema:
type:boolean
default:true
hidden:true
- variable:type
label:"Service Type"
description:"ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
description:"Specify custom DNS configuration which will be applied to the pod"
schema:
type:dict
attrs:
- variable:nameservers
label:"Nameservers"
schema:
default:[]
type:list
items:
- variable:nameserver
label:"Nameserver"
schema:
type:string
- variable:options
label:"options"
schema:
default:[]
type:list
items:
- variable:option
label:"Option Entry"
schema:
type:string
- variable:searches
label:"Searches"
schema:
default:[]
type:list
items:
- variable:search
label:"Search Entry"
schema:
type:string
- variable:serviceList
label:"Add Manual Custom Services"
group:"Networking and Services"
schema:
type:list
default:[]
items:
- variable:serviceListEntry
label:"Custom Service"
schema:
type:dict
attrs:
- variable:enabled
label:"Enable the service"
schema:
type:boolean
default:true
hidden:true
- variable:name
label:"Name"
schema:
type:string
default:""
- variable:type
label:"Service Type"
description:"ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
schema:
type:string
default:"NodePort"
enum:
- value:"NodePort"
description:"NodePort"
- value:"ClusterIP"
description:"ClusterIP"
- value:"LoadBalancer"
description:"LoadBalancer"
- variable:loadBalancerIP
label:"LoadBalancer IP"
description:"LoadBalancerIP"
schema:
show_if:[["type","=","LoadBalancer"]]
type:string
default:""
- variable:externalIPs
label:"External IP's"
description:"External IP's"
schema:
show_if:[["type","=","LoadBalancer"]]
type:list
default:[]
items:
- variable:externalIP
label:"External IP"
schema:
type:string
- variable:portsList
label:"Additional Service Ports"
schema:
type:list
default:[]
items:
- variable:portsListEntry
label:"Custom ports"
schema:
type:dict
attrs:
- variable:enabled
label:"Enable the port"
schema:
type:boolean
default:true
hidden:true
- variable:name
label:"Port Name"
schema:
type:string
default:""
- variable:protocol
label:"Port Type"
schema:
type:string
default:"TCP"
enum:
- value:HTTP
description:"HTTP"
- value:"HTTPS"
description:"HTTPS"
- value:TCP
description:"TCP"
- value:"UDP"
description:"UDP"
- variable:targetPort
label:"Target Port"
description:"This port exposes the container port on the service"
schema:
type:int
required:true
- variable:port
label:"Container Port"
schema:
type:int
required:true
- variable:nodePort
label:"Node Port (Optional)"
description:"This port gets exposed to the node. Only considered when service type is NodePort"
schema:
type:int
min:9000
max:65535
- variable:persistence
label:"Integrated Persistent Storage"
description:"Integrated Persistent Storage"
group:"Storage and Persistence"
schema:
type:dict
attrs:
- variable:config
label:"App Config Storage"
description:"Stores the Application Configuration."
schema:
type:dict
attrs:
- variable:enabled
label:"Enable the storage"
schema:
type:boolean
default:true
- variable:type
label:"(Advanced) Type of Storage"
description:"Sets the persistence type"
schema:
type:string
default:"pvc"
enum:
- value:"pvc"
description:"pvc"
- value:"emptyDir"
description:"emptyDir"
- value:"hostPath"
description:"hostPath"
- variable:storageClass
label:"(Advanced) storageClass"
description:" Warning: Anything other than SCALE-ZFS will break rollback!"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"SCALE-ZFS"
- variable:setPermissions
label:"Automatic Permissions"
description:"Automatically set permissions on install"
schema:
show_if:[["type","=","hostPath"]]
type:boolean
default:true
- variable:readOnly
label:"readOnly"
schema:
type:boolean
default:false
- variable:hostPath
label:"hostPath"
description:"Path inside the container the storage is mounted"
schema:
show_if:[["type","=","hostPath"]]
type:hostpath
- variable:hostPathType
label:"hostPath Type"
schema:
show_if:[["type","=","hostPath"]]
type:string
default:""
enum:
- value:""
description:"Default"
- value:"DirectoryOrCreate"
description:"DirectoryOrCreate"
- value:"Directory"
description:"Directory"
- value:"FileOrCreate"
description:"FileOrCreate"
- value:"File"
description:"File"
- value:"Socket"
description:"Socket"
- value:"CharDevice"
description:"CharDevice"
- value:"BlockDevice"
description:"BlockDevice"
- variable:mountPath
label:"mountPath"
description:"Path inside the container the storage is mounted"
schema:
type:string
default:"/config"
hidden:true
- variable:medium
label:"EmptyDir Medium"
schema:
show_if:[["type","=","emptyDir"]]
type:string
default:""
enum:
- value:""
description:"Default"
- value:"Memory"
description:"Memory"
- variable:accessMode
label:"Access Mode (Advanced)"
description:"Allow or disallow multiple PVC's writhing to the same PV"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"ReadWriteOnce"
enum:
- value:"ReadWriteOnce"
description:"ReadWriteOnce"
- value:"ReadOnlyMany"
description:"ReadOnlyMany"
- value:"ReadWriteMany"
description:"ReadWriteMany"
- variable:size
label:"Size quotum of storage"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"100Gi"
- variable:persistenceList
label:"Additional app storage"
group:"Storage and Persistence"
schema:
type:list
default:[]
items:
- variable:persistenceListEntry
label:"Custom Storage"
schema:
type:dict
attrs:
- variable:enabled
label:"Enable the storage"
schema:
type:boolean
default:true
hidden:true
- variable:advanced
label:"Show Advanced Options"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:labelsList
label:"Labels"
schema:
type:list
default:[]
items:
- variable:labelItem
label:"Label"
schema:
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:annotationsList
label:"Annotations"
schema:
type:list
default:[]
items:
- variable:annotationItem
label:"Label"
schema:
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:type
label:"(Advanced) Type of Storage"
description:"Sets the persistence type"
schema:
type:string
default:"hostPath"
enum:
- value:"pvc"
description:"pvc"
- value:"emptyDir"
description:"emptyDir"
- value:"hostPath"
description:"hostPath"
- variable:storageClass
label:"(Advanced) storageClass"
description:"Warning: Anything other than SCALE-ZFS will break rollback!"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"SCALE-ZFS"
- variable:setPermissions
label:"Automatic Permissions"
description:"Automatically set permissions on install"
schema:
show_if:[["type","=","hostPath"]]
type:boolean
default:true
- variable:readOnly
label:"readOnly"
schema:
type:boolean
default:false
- variable:hostPath
label:"hostPath"
description:"Path inside the container the storage is mounted"
schema:
show_if:[["type","=","hostPath"]]
type:hostpath
- variable:hostPathType
label:"(Advanced) hostPath Type"
schema:
show_if:[["type","=","hostPath"]]
type:string
default:""
enum:
- value:""
description:"Default"
- value:"DirectoryOrCreate"
description:"DirectoryOrCreate"
- value:"Directory"
description:"Directory"
- value:"FileOrCreate"
description:"FileOrCreate"
- value:"File"
description:"File"
- value:"Socket"
description:"Socket"
- value:"CharDevice"
description:"CharDevice"
- value:"BlockDevice"
description:"BlockDevice"
- variable:mountPath
label:"mountPath"
description:"Path inside the container the storage is mounted"
schema:
type:string
default:""
required:true
- variable:medium
label:"EmptyDir Medium"
schema:
show_if:[["type","=","emptyDir"]]
type:string
default:""
enum:
- value:""
description:"Default"
- value:"Memory"
description:"Memory"
- variable:accessMode
label:"(Advanced) Access Mode"
description:"Allow or disallow multiple PVC's writhing to the same PV"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"ReadWriteOnce"
enum:
- value:"ReadWriteOnce"
description:"ReadWriteOnce"
- value:"ReadOnlyMany"
description:"ReadOnlyMany"
- value:"ReadWriteMany"
description:"ReadWriteMany"
- variable:size
label:"Size quotum of storage"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"100Gi"
- variable:ingress
label:""
group:"Ingress"
schema:
type:dict
attrs:
- variable:main
label:"Main Ingress"
schema:
type:dict
attrs:
- variable:enabled
label:"Enable Ingress"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:hosts
label:"Hosts"
schema:
type:list
default:[]
items:
- variable:hostEntry
label:"Host"
schema:
type:dict
attrs:
- variable:host
label:"HostName"
schema:
type:string
default:""
required:true
- variable:paths
label:"Paths"
schema:
type:list
default:[]
items:
- variable:pathEntry
label:"Host"
schema:
type:dict
attrs:
- variable:path
label:"path"
schema:
type:string
required:true
default:"/"
- variable:pathType
label:"pathType"
schema:
type:string
required:true
default:"Prefix"
- variable:tls
label:"TLS-Settings"
schema:
type:list
default:[]
items:
- variable:tlsEntry
label:"Host"
schema:
type:dict
attrs:
- variable:hosts
label:"Certificate Hosts"
schema:
type:list
default:[]
items:
- variable:host
label:"Host"
schema:
type:string
default:""
required:true
- variable:scaleCert
label:"Select TrueNAS SCALE Certificate"
schema:
type:int
$ref:
- "definitions/certificate"
- variable:entrypoint
label:"(Advanced) Traefik Entrypoint"
description:"Entrypoint used by Traefik when using Traefik as Ingress Provider"
schema:
type:string
default:"websecure"
required:true
- variable:middlewares
label:"Traefik Middlewares"
description:"Add previously created Traefik Middlewares to this Ingress"
schema:
type:list
default:[]
items:
- variable:name
label:"Name"
schema:
type:string
default:""
required:true
- variable:expert
label:"Show Expert Configuration Options"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:enableFixedMiddlewares
description:"These middlewares enforce a number of best practices."
label:"Enable Default Middlewares"
schema:
type:boolean
default:true
- variable:ingressClassName
label:"IngressClass Name"
schema:
type:string
default:""
- variable:labelsList
label:"Labels"
schema:
type:list
default:[]
items:
- variable:labelItem
label:"Label"
schema:
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:annotationsList
label:"Annotations"
schema:
type:list
default:[]
items:
- variable:annotationItem
label:"Label"
schema:
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:ingressList
label:"Add Manual Custom Ingresses"
group:"Ingress"
schema:
type:list
default:[]
items:
- variable:ingressListEntry
label:"Custom Ingress"
schema:
type:dict
attrs:
- variable:enabled
label:"Enable Ingress"
schema:
type:boolean
default:true
hidden:true
- variable:name
label:"Name"
schema:
type:string
default:""
- variable:ingressClassName
label:"IngressClass Name"
schema:
type:string
default:""
- variable:labelsList
label:"Labels"
schema:
type:list
default:[]
items:
- variable:labelItem
label:"Label"
schema:
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:annotationsList
label:"Annotations"
schema:
type:list
default:[]
items:
- variable:annotationItem
label:"Label"
schema:
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:hosts
label:"Hosts"
schema:
type:list
default:[]
items:
- variable:hostEntry
label:"Host"
schema:
type:dict
attrs:
- variable:host
label:"HostName"
schema:
type:string
default:""
required:true
- variable:paths
label:"Paths"
schema:
type:list
default:[]
items:
- variable:pathEntry
label:"Host"
schema:
type:dict
attrs:
- variable:path
label:"path"
schema:
type:string
required:true
default:"/"
- variable:pathType
label:"pathType"
schema:
type:string
required:true
default:"Prefix"
- variable:service
label:"Linked Service"
schema:
type:dict
attrs:
- variable:name
label:"Service Name"
schema:
type:string
default:""
- variable:port
label:"Service Port"
schema:
type:int
- variable:tls
label:"TLS-Settings"
schema:
type:list
default:[]
items:
- variable:tlsEntry
label:"Host"
schema:
type:dict
attrs:
- variable:hosts
label:"Certificate Hosts"
schema:
type:list
default:[]
items:
- variable:host
label:"Host"
schema:
type:string
default:""
required:true
- variable:scaleCert
label:"Select TrueNAS SCALE Certificate"
schema:
type:int
$ref:
- "definitions/certificate"
- variable:entrypoint
label:"Traefik Entrypoint"
description:"Entrypoint used by Traefik when using Traefik as Ingress Provider"
schema:
type:string
default:"websecure"
required:true
- variable:middlewares
label:"Traefik Middlewares"
description:"Add previously created Traefik Middlewares to this Ingress"
schema:
type:list
default:[]
items:
- variable:name
label:"Name"
schema:
type:string
default:""
required:true
- variable:securityContext
group:"Security and Permissions"
label:"Security Context"
schema:
type:dict
attrs:
- variable:privileged
label:"Privileged mode"
schema:
type:boolean
default:false
- variable:readOnlyRootFilesystem
label:"ReadOnly Root Filesystem"
schema:
type:boolean
default:false
- variable:allowPrivilegeEscalation
label:"Allow Privilege Escalation"
schema:
type:boolean
default:false
- variable:runAsNonRoot
label:"runAsNonRoot"
schema:
type:boolean
default:false
- variable:podSecurityContext
group:"Security and Permissions"
label:"Pod Security Context"
schema:
type:dict
attrs:
- variable:runAsUser
label:"runAsUser"
description:"The UserID of the user running the application"
schema:
type:int
default:0
- variable:runAsGroup
label:"runAsGroup"
description:The groupID this App of the user running the application"
schema:
type:int
default:0
- variable:fsGroup
label:"fsGroup"
description:"The group that should own ALL storage."
description:"Path to the device on the host system"
schema:
type:path
- variable:mountPath
label:"Container Device Path"
description:"Path inside the container the device is mounted"
schema:
type:string
default:"/dev/ttyACM0"
- variable:autoscaling
group:"Advanced"
label:"(Advanced) Horizontal Pod Autoscaler"
schema:
type:dict
attrs:
- variable:enabled
label:"enabled"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:target
label:"Target"
description:"deployment name, defaults to main deployment"
schema:
type:string
default:""
- variable:minReplicas
label:"Minimum Replicas"
schema:
type:int
default:1
- variable:maxReplicas
label:"Maximum Replicas"
schema:
type:int
default:5
- variable:targetCPUUtilizationPercentage
label:"Target CPU Utilization Percentage"
schema:
type:int
default:80
- variable:targetMemoryUtilizationPercentage
label:"Target Memory Utilization Percentage"
schema:
type:int
default:80
- variable:addons
group:"Addons"
label:""
schema:
type:dict
attrs:
- variable:vpn
label:"VPN"
schema:
type:dict
attrs:
- variable:type
label:"Type"
schema:
type:string
default:"disabled"
enum:
- value:"disabled"
description:"disabled"
- value:"openvpn"
description:"OpenVPN"
- value:"wireguard"
description:"Wireguard"
- variable:openvpn
label:"OpenVPN Settings"
schema:
type:dict
show_if:[["type","=","openvpn"]]
attrs:
- variable:username
label:"authentication username"
description:"authentication username, optional"
schema:
type:string
default:""
- variable:password
label:"authentication password"
description:"authentication credentials"
schema:
type:string
default:""
required:true
- variable:killSwitch
label:"Enable killswitch"
schema:
type:boolean
show_if:[["type","!=","disabled"]]
default:true
- variable:excludedNetworks_IPv4
label:"Killswitch Excluded IPv4 networks"
description:"list of killswitch excluded ipv4 addresses"
schema:
type:list
show_if:[["type","!=","disabled"]]
default:[]
items:
- variable:networkv4
label:"IPv4 Network"
schema:
type:string
required:true
- variable:excludedNetworks_IPv6
label:"Killswitch Excluded IPv6 networks"
description:"list of killswitch excluded ipv4 addresses"
schema:
type:list
show_if:[["type","!=","disabled"]]
default:[]
items:
- variable:networkv6
label:"IPv6 Network"
schema:
type:string
required:true
- variable:configFile
label:"VPN Config File Location"
schema:
type:dict
show_if:[["type","!=","disabled"]]
attrs:
- variable:enabled
label:"enabled"
schema:
type:boolean
default:true
hidden:true
- variable:type
label:"type"
schema:
type:string
default:"hostPath"
hidden:true
- variable:hostPathType
label:"hostPathType"
schema:
type:string
default:"File"
hidden:true
- variable:noMount
label:"noMount"
schema:
type:boolean
default:true
hidden:true
- variable:hostPath
label:"Full path to file"
description:"path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn"
schema:
type:string
default:""
required:true
- variable:envList
label:"VPN environment Variables"
schema:
type:list
show_if:[["type","!=","disabled"]]
default:[]
items:
- variable:envItem
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:codeserver
label:"Codeserver"
schema:
type:dict
attrs:
- variable:enabled
label:"enabled"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:git
label:"Git Settings"
schema:
type:dict
attrs:
- variable:deployKey
description:"Raw SSH private key"
label:"deployKey"
schema:
type:string
- variable:deployKeyBase64
description:"Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence"
label:"deployKeyBase64"
schema:
type:string
- variable:service
label:""
schema:
type:dict
attrs:
- variable:type
label:"Service Type"
description:"ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"