groups: - name: Navidrome Configuration description: Configure Navidrome - name: User and Group Configuration description: Configure User and Group for Navidrome - name: Network Configuration description: Configure Network for Navidrome - name: Storage Configuration description: Configure Storage for Navidrome - name: Resources Configuration description: Configure Resources for Navidrome 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: navidromeConfig label: "" group: Navidrome Configuration schema: type: dict attrs: - variable: uiWelcomeMessage label: Login Screen Welcome Message description: The welcome message to display on the Navidrome Login Screen. schema: type: string default: "" - variable: localPlayback label: Enable Local Playback description: | Enable local playback for Navidrome.
This will allow you to play music from your local machine, by mounting
the sound card to the container.
Keep in mind that this will make the container to run with elevated privileges
and privilege escalation. Use with caution. schema: type: boolean default: false - variable: additionalEnvs label: Additional Environment Variables description: Configure additional environment variables for Navidrome. 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: navidromeRunAs label: "" group: User and Group Configuration schema: type: dict attrs: - variable: user label: User ID description: The user id that Navidrome will run as. schema: type: int min: 2 default: 568 required: true - variable: group label: Group ID description: The group id that Navidrome will run as. schema: type: int min: 2 default: 568 required: true - variable: navidromeNetwork label: "" group: Network Configuration schema: type: dict attrs: - variable: webPort label: Web Port description: The port for the Navidrome Web UI. schema: type: int default: 30043 min: 9000 max: 65535 required: true - variable: hostNetwork label: Host Network description: | Bind to the host network. It's recommended to keep this disabled.
schema: type: boolean default: false - variable: navidromeStorage label: "" group: Storage Configuration schema: type: dict attrs: - variable: data label: Navidrome Data Storage description: The path to store Navidrome Data. schema: type: dict attrs: - variable: type label: Type description: | ixVolume: Is dataset created automatically by the system.
Host Path: Is a path that already exists on the system. 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: ixVolumeConfig label: ixVolume Configuration description: The configuration for the ixVolume dataset. schema: type: dict show_if: [["type", "=", "ixVolume"]] $ref: - "normalize/ixVolume" attrs: - variable: aclEnable label: Enable ACL description: Enable ACL for the dataset. schema: type: boolean default: false - variable: datasetName label: Dataset Name description: The name of the dataset to use for storage. schema: type: string required: true immutable: true hidden: true default: "data" - variable: aclEntries label: ACL Configuration schema: type: dict show_if: [["aclEnable", "=", true]] attrs: [] - variable: hostPathConfig label: Host Path Configuration schema: type: dict show_if: [["type", "=", "hostPath"]] attrs: - variable: aclEnable label: Enable ACL description: Enable ACL for the dataset. schema: type: boolean default: false - variable: acl label: ACL Configuration schema: type: dict show_if: [["aclEnable", "=", true]] attrs: [] $ref: - "normalize/acl" - variable: hostPath label: Host Path description: The host path to use for storage. schema: type: hostpath show_if: [["aclEnable", "=", false]] required: true - variable: music label: Navidrome Music Storage description: The path to store Navidrome Music. schema: type: dict attrs: - variable: type label: Type description: | ixVolume: Is dataset created automatically by the system.
Host Path: Is a path that already exists on the system. 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: ixVolumeConfig label: ixVolume Configuration description: The configuration for the ixVolume dataset. schema: type: dict show_if: [["type", "=", "ixVolume"]] $ref: - "normalize/ixVolume" attrs: - variable: aclEnable label: Enable ACL description: Enable ACL for the dataset. schema: type: boolean default: false - variable: datasetName label: Dataset Name description: The name of the dataset to use for storage. schema: type: string required: true immutable: true hidden: true default: "music" - variable: aclEntries label: ACL Configuration schema: type: dict show_if: [["aclEnable", "=", true]] attrs: [] - variable: hostPathConfig label: Host Path Configuration schema: type: dict show_if: [["type", "=", "hostPath"]] attrs: - variable: aclEnable label: Enable ACL description: Enable ACL for the dataset. schema: type: boolean default: false - variable: acl label: ACL Configuration schema: type: dict show_if: [["aclEnable", "=", true]] attrs: [] $ref: - "normalize/acl" - variable: hostPath label: Host Path description: The host path to use for storage. schema: type: hostpath show_if: [["aclEnable", "=", false]] required: true - variable: additionalStorages label: Additional Storage description: Additional storage for Navidrome. 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.
Host Path: Is a path that already exists on the system.
SMB Share: Is a SMB share that is mounted to a persistent volume claim. 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: readOnly label: Read Only description: Mount the volume as read only. schema: type: boolean default: false - variable: mountPath label: Mount Path description: The path inside the container to mount the storage. schema: type: path required: true - variable: hostPathConfig label: Host Path Configuration schema: type: dict show_if: [["type", "=", "hostPath"]] attrs: - variable: aclEnable label: Enable ACL description: Enable ACL for the dataset. schema: type: boolean default: false - variable: acl label: ACL Configuration schema: type: dict show_if: [["aclEnable", "=", true]] attrs: [] $ref: - "normalize/acl" - variable: hostPath label: Host Path description: The host path to use for storage. schema: type: hostpath show_if: [["aclEnable", "=", false]] required: true - variable: ixVolumeConfig label: ixVolume Configuration description: The configuration for the ixVolume dataset. schema: type: dict show_if: [["type", "=", "ixVolume"]] $ref: - "normalize/ixVolume" attrs: - variable: aclEnable label: Enable ACL description: Enable ACL for the dataset. schema: type: boolean default: false - variable: datasetName label: Dataset Name description: The name of the dataset to use for storage. schema: type: string required: true immutable: true default: "storage_entry" - variable: aclEntries label: ACL Configuration schema: type: dict show_if: [["aclEnable", "=", true]] attrs: [] - variable: smbConfig label: SMB Share Configuration description: The configuration for the SMB Share. schema: type: dict show_if: [["type", "=", "smb-pv-pvc"]] attrs: - variable: server label: Server description: The server for the SMB share. schema: type: string required: true - variable: share label: Share description: The share name for the SMB share. schema: type: string required: true - variable: domain label: Domain (Optional) description: The domain for the SMB share. schema: type: string - variable: username label: Username description: The username for the SMB share. schema: type: string required: true - variable: password label: Password description: The password for the SMB share. schema: type: string required: true private: true - variable: size label: Size (in Gi) description: The size of the volume quota. schema: type: int 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 Navidrome. 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
- Plain Integer - eg. 1
- Float - eg. 0.5
- Milicpu - eg. 500m default: "4000m" required: true - variable: memory label: Memory description: Memory limit for Navidrome. 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
- Suffixed with E/P/T/G/M/K - eg. 1G
- Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi
- Plain Integer in bytes - eg. 1024
- Exponent - eg. 134e6 default: "8Gi" required: true