groups: - name: Immich Configuration description: Configure Immich - name: Network Configuration description: Configure Network for Immich - name: Storage Configuration description: Configure Storage for Immich - name: Resources Configuration description: Configure Resources for Immich 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: Immich Configuration label: Timezone schema: type: string default: Etc/UTC required: true $ref: - definitions/timezone - variable: immichConfig label: "" group: Immich Configuration schema: type: dict attrs: - variable: enableML label: Enable Machine Learning description: | Enable Machine Learning schema: type: boolean default: true - variable: immichNetwork label: "" group: Network Configuration schema: type: dict attrs: - variable: webuiPort label: Web Port description: The port for the Immich WebUI. schema: type: int default: 30041 min: 9000 max: 65535 required: true - variable: immichStorage label: "" group: Storage Configuration schema: type: dict attrs: - variable: uploads label: Immich Uploads Storage description: The path to store Immich uploads. 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: "uploads" - 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: library label: Immich Library Storage description: The path to store Immich Library. 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: "library" - 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: thumbs label: Immich Thumbs Storage description: The path to store Immich Thumbs. 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: "thumbs" - 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: profile label: Immich Profile Storage description: The path to store Immich Profile. 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: "profile" - 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: video label: Immich Video Storage description: The path to store Immich Video. 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: "video" - 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: pgData label: Immich Postgres Data Storage description: The path to store Immich Postgres 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 # Nothing to show for the user hidden: true show_if: [["type", "=", "ixVolume"]] $ref: - "normalize/ixVolume" attrs: - variable: aclEnable label: Enable ACL description: Enable ACL for the dataset. schema: type: boolean # Postgres does a CHMOD at startup # Which fails with ACL hidden: true 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: "pgData" - 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 # Postgres does a CHMOD at startup # Which fails with ACL hidden: true 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: pgBackup label: Immich Postgres Backup Storage description: The path to store Immich Postgres Backup. 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 # Nothing to show for the user hidden: true show_if: [["type", "=", "ixVolume"]] $ref: - "normalize/ixVolume" attrs: - variable: aclEnable label: Enable ACL description: Enable ACL for the dataset. schema: type: boolean # Postgres does a CHMOD at startup # Which fails with ACL hidden: true 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: "pgBackup" - 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 # Postgres does a CHMOD at startup # Which fails with ACL hidden: true 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 Immich. 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 label: "" group: Resources Configuration schema: type: dict attrs: - variable: limits label: Limits schema: type: dict attrs: - variable: cpu label: CPU description: CPU limit for Immich. 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 Immich. 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 - variable: immichGPU group: Resources Configuration label: GPU Configuration schema: type: dict $ref: - "definitions/gpuConfiguration" attrs: []