groups: - name: Syncthing Configuration description: Configure Syncthing - name: User and Group Configuration description: Configure User and Group for Syncthing - name: Network Configuration description: Configure Network for Syncthing - name: Storage Configuration description: Configure Storage for Syncthing - name: Resources Configuration description: Configure Resources for Syncthing 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: Syncthing Configuration label: Timezone schema: type: string default: Etc/UTC required: true $ref: - definitions/timezone - variable: syncthingConfig label: "" group: Syncthing Configuration schema: type: dict attrs: # Boolean flags are currently # not exposed to the user - variable: natTraversal label: NAT Traversal schema: type: boolean default: false hidden: true - variable: localDiscovery label: Local Discovery schema: type: boolean default: false hidden: true - variable: globalDiscovery label: Global Discovery schema: type: boolean default: false hidden: true - variable: telemetry label: Telemetry schema: type: boolean default: false hidden: true - variable: relaying label: Relaying schema: type: boolean default: false hidden: true - variable: announceLANAddresses label: Announce LAN Addresses schema: type: boolean default: false hidden: true - variable: additionalEnvs label: Additional Environment Variables description: Configure additional environment variables for Syncthing. 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: syncthingID label: "" group: User and Group Configuration schema: type: dict attrs: - variable: user label: User ID description: The user id that Syncthing files will be owned by. schema: type: int min: 568 default: 568 immutable: true required: true - variable: group label: Group ID description: The group id that Syncthing files will be owned by. schema: type: int min: 568 default: 568 immutable: true required: true - variable: syncthingNetwork label: "" group: Network Configuration schema: type: dict attrs: - variable: hostNetwork label: Host Network description: | Bind to the host network.

If this is disabled, you will need to add your local networks in CIDR format to the Syncthing WebUI.
In the Syncthing WebUI, go to Advanced Settings > Options > Always Local Nets
Separate each CIDR network with a comma.
Example: 192.168.0.0/24,192.168.1.0/24 schema: type: boolean default: true - variable: webPort label: Web Port description: The port for the Syncthing WebUI. schema: type: int default: 31000 min: 9000 max: 65535 required: true - variable: tcpPort label: TCP Port (File Transfers) description: The TCP port for Syncthing transfers. schema: type: int show_if: [["hostNetwork", "=", false]] default: 22000 min: 9000 max: 65535 required: true - variable: quicPort label: QUIC (UDP) Port (File Transfers) description: The QUIC (UDP) port for Syncthing transfers. schema: type: int show_if: [["hostNetwork", "=", false]] default: 22000 min: 9000 max: 65535 required: true - variable: certificateID label: Certificate description: The certificate to use for Syncthing GUI. schema: type: int "null": true $ref: - "definitions/certificate" - variable: syncthingStorage label: "" group: Storage Configuration schema: type: dict attrs: - variable: home label: Syncthing Home Storage description: The path to store Syncthing Home Directory. 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 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: "home" - 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 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 Syncthing. schema: type: list required: true empty: false default: - type: "hostPath" mountPath: "/data1" hostPath": "" items: - variable: storageEntry label: Storage Entry schema: type: dict attrs: - variable: type label: Type description: | 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: "hostPath" immutable: true enum: - value: "hostPath" description: Host Path (Path that already exists on 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 hidden: true 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 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: 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 Syncthing. 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 Syncthing. 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