mirror of
https://github.com/truenas/charts.git
synced 2026-04-25 19:12:43 +08:00
785 lines
30 KiB
YAML
785 lines
30 KiB
YAML
groups:
|
|
- name: Nextcloud Configuration
|
|
description: Configure Nextcloud
|
|
- name: Advanced Pod Configuration
|
|
description: Configure Advanced Pod Options for Nextcloud
|
|
- name: Network Configuration
|
|
description: Configure Network for Nextcloud
|
|
- name: Storage Configuration
|
|
description: Configure Storage for Nextcloud
|
|
- name: Resources Configuration
|
|
description: Configure Resources for Nextcloud
|
|
|
|
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: ncConfig
|
|
label: ""
|
|
group: Nextcloud Configuration
|
|
schema:
|
|
type: dict
|
|
attrs:
|
|
- variable: adminUser
|
|
label: Admin User
|
|
description: The Nextcloud admin user.
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: adminPassword
|
|
label: Admin Password
|
|
description: The Nextcloud admin password.
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
private: true
|
|
required: true
|
|
- variable: host
|
|
label: Host
|
|
description: |
|
|
Nextcloud host to create application URLs</br>
|
|
Examples: </br>
|
|
cloud.domain.com:30001</br>
|
|
cloud.domain.com (if you use port 443 externally)</br>
|
|
192.168.1.100:9001 (replace ip and port with your own)</br>
|
|
schema:
|
|
type: string
|
|
$ref:
|
|
- "definitions/nodeIP"
|
|
- variable: dataDir
|
|
label: "Nextcloud data directory"
|
|
description: "Configures the data directory where Nextcloud stores all files from the users. The path refers to the path inside the container"
|
|
schema:
|
|
type: path
|
|
default: "/var/www/html/data"
|
|
required: true
|
|
- variable: commands
|
|
label: Commands
|
|
description: Commands to run in the Nextcloud container
|
|
schema:
|
|
type: list
|
|
items:
|
|
- variable: command
|
|
label: Command
|
|
schema:
|
|
type: string
|
|
required: true
|
|
enum:
|
|
- value: ffmpeg
|
|
description: ffmpeg
|
|
- value: smbclient
|
|
description: smbclient
|
|
- variable: maxUploadLimit
|
|
label: Max Upload Size (Giga Bytes)
|
|
description: |
|
|
Applies the timeout to the following settings:</br>
|
|
- client_max_body_size in nginx</br>
|
|
- post_max_size and upload_max_filesize in php</br>
|
|
schema:
|
|
type: int
|
|
default: 3
|
|
min: 1
|
|
required: true
|
|
- variable: maxExecutionTime
|
|
label: Max Execution Time (Seconds)
|
|
description: Configures the max execution time of php
|
|
schema:
|
|
type: int
|
|
default: 30
|
|
min: 30
|
|
required: true
|
|
- variable: phpMemoryLimit
|
|
label: PHP Memory Limit (Mega Bytes)
|
|
description: Configures the memory limit of php
|
|
schema:
|
|
type: int
|
|
default: 512
|
|
min: 128
|
|
max: 4096
|
|
required: true
|
|
- variable: opCacheMemoryConsumption
|
|
label: Opcache Memory Consumption (Mega Bytes)
|
|
description: Configures the memory consumption of the opcache
|
|
schema:
|
|
type: int
|
|
min: 128
|
|
max: 1024
|
|
default: 128
|
|
required: true
|
|
- variable: cron
|
|
label: Cron
|
|
description: Configures the cron job for Nextcloud
|
|
schema:
|
|
type: dict
|
|
attrs:
|
|
- variable: enabled
|
|
label: Enabled
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
required: true
|
|
- variable: schedule
|
|
label: Schedule
|
|
schema:
|
|
type: string
|
|
show_if: [["enabled", "=", true]]
|
|
default: "*/15 * * * *"
|
|
required: true
|
|
- variable: additionalEnvs
|
|
label: Additional Environment Variables
|
|
description: Configure additional environment variables for Nextcloud.
|
|
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: podOptions
|
|
label: ""
|
|
group: Advanced Pod Configuration
|
|
schema:
|
|
type: dict
|
|
attrs:
|
|
- variable: dnsConfig
|
|
label: Advanced DNS Configuration
|
|
schema:
|
|
type: dict
|
|
attrs:
|
|
- variable: options
|
|
label: DNS Options
|
|
schema:
|
|
type: list
|
|
items:
|
|
- variable: optionsEntry
|
|
label: DNS Option Entry
|
|
schema:
|
|
type: dict
|
|
attrs:
|
|
- variable: name
|
|
label: Option Name
|
|
schema:
|
|
type: string
|
|
required: true
|
|
- variable: value
|
|
label: Option Value
|
|
schema:
|
|
type: string
|
|
required: true
|
|
|
|
- variable: ncNetwork
|
|
label: ""
|
|
group: Network Configuration
|
|
schema:
|
|
type: dict
|
|
attrs:
|
|
- variable: webPort
|
|
label: Web Port
|
|
description: The port for the Nextcloud Web UI.
|
|
schema:
|
|
type: int
|
|
default: 9001
|
|
min: 9000
|
|
max: 65535
|
|
required: true
|
|
- variable: certificateID
|
|
label: Certificate
|
|
description: The certificate to use for Nextcloud
|
|
schema:
|
|
type: int
|
|
"null": true
|
|
$ref:
|
|
- "definitions/certificate"
|
|
- variable: nginx
|
|
label: Nginx Configuration
|
|
schema:
|
|
type: dict
|
|
show_if: [["certificateID", "!=", null]]
|
|
attrs:
|
|
- variable: proxyTimeouts
|
|
label: Proxy timeouts (Seconds)
|
|
description: |
|
|
Applies the timeout to the following settings:</br>
|
|
- proxy_connect_timeout</br>
|
|
- proxy_send_timeout</br>
|
|
- proxy_read_timeout</br>
|
|
schema:
|
|
type: int
|
|
min: 30
|
|
default: 60
|
|
required: true
|
|
- variable: useDifferentAccessPort
|
|
label: Use different port for URL rewrites
|
|
description: |
|
|
If enabled, the URL rewrite will use [Access Port] defined below instead of the [Node Port].</br>
|
|
Note that Nextcloud will still listen on the [Node Port]. (Default 9001)
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: externalAccessPort
|
|
label: External Access Port
|
|
schema:
|
|
type: int
|
|
show_if: [["useDifferentAccessPort", "=", true]]
|
|
min: 443
|
|
max: 65535
|
|
default: 443
|
|
required: true
|
|
|
|
- variable: ncStorage
|
|
label: ""
|
|
group: Storage Configuration
|
|
schema:
|
|
type: dict
|
|
attrs:
|
|
# Dummy variable so we can skip "fixing" migration on new installations
|
|
- variable: migrationFixed
|
|
label: ""
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
hidden: true
|
|
- variable: isDataInTheSameVolume
|
|
label: "Pre v2 Storage Structure (See the tooltip for more information)"
|
|
description: |
|
|
Do NOT check this, if this is a new installation.</br>
|
|
If this is checked, means that this is an installation coming from a previous version (v1.x.x).<br/>
|
|
In order to have backwards compatibility, the older storage structure was kept for this installation.<br/>
|
|
If you want to utilize the new storage structure, move 'data' in a separate directory or dataset.
|
|
Change the 'Nextcloud UserData' configuration below to point to the new location and then uncheck this checkbox.
|
|
<br/><br/>
|
|
You will NOT likely want to change that if your setup uses ixVolume as storage.
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: html
|
|
label: Nextcloud AppData Storage (HTML, Custom Themes, Apps, etc.)
|
|
description: The path to store Nextcloud HTML and AppData.
|
|
schema:
|
|
type: dict
|
|
attrs:
|
|
- variable: type
|
|
label: Type
|
|
description: |
|
|
ixVolume: Is dataset created automatically by the system.</br>
|
|
Host Path: Is a path that already exists on the system.
|
|
schema:
|
|
type: string
|
|
required: 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: "html"
|
|
- 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: data
|
|
label: Nextcloud User Data Storage
|
|
description: The path to store Nextcloud User Data.
|
|
schema:
|
|
type: dict
|
|
attrs:
|
|
- variable: type
|
|
label: Type
|
|
description: |
|
|
ixVolume: Is dataset created automatically by the system.</br>
|
|
Host Path: Is a path that already exists on the system.
|
|
schema:
|
|
type: string
|
|
required: 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: pgData
|
|
label: Nextcloud Postgres Data Storage
|
|
description: The path to store Nextcloud Postgres Data.
|
|
schema:
|
|
type: dict
|
|
attrs:
|
|
- variable: type
|
|
label: Type
|
|
description: |
|
|
ixVolume: Is dataset created automatically by the system.</br>
|
|
Host Path: Is a path that already exists on the system.
|
|
schema:
|
|
type: string
|
|
required: 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: Nextcloud Postgres Backup Storage
|
|
description: The path to store Nextcloud Postgres Backup.
|
|
schema:
|
|
type: dict
|
|
attrs:
|
|
- variable: type
|
|
label: Type
|
|
description: |
|
|
ixVolume: Is dataset created automatically by the system.</br>
|
|
Host Path: Is a path that already exists on the system.
|
|
schema:
|
|
type: string
|
|
required: 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 Nextcloud.
|
|
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.</br>
|
|
Host Path: Is a path that already exists on the system.</br>
|
|
SMB Share: Is a SMB share that is mounted to a persistent volume claim.
|
|
schema:
|
|
type: string
|
|
required: 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)
|
|
- 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 WG-Easy.
|
|
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</br>
|
|
- Plain Integer - eg. 1</br>
|
|
- Float - eg. 0.5</br>
|
|
- Milicpu - eg. 500m
|
|
default: "4000m"
|
|
required: true
|
|
- variable: memory
|
|
label: Memory
|
|
description: Memory limit for WG-Easy.
|
|
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</br>
|
|
- Suffixed with E/P/T/G/M/K - eg. 1G</br>
|
|
- Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
|
|
- Plain Integer in bytes - eg. 1024</br>
|
|
- Exponent - eg. 134e6
|
|
default: "8Gi"
|
|
required: true
|