{ "1.6.55": { "healthy": true, "supported": true, "healthy_error": null, "location": "/__w/charts/charts/charts/nextcloud/1.6.55", "last_update": "2023-12-22 07:42:55", "required_features": [ "definitions/certificate", "definitions/nodeIP", "normalize/ixVolume" ], "human_version": "28.0.1_1.6.55", "version": "1.6.55", "chart_metadata": { "name": "nextcloud", "description": "A file sharing server that puts the control and security of your own data back into your hands.", "annotations": { "title": "Nextcloud" }, "type": "application", "version": "1.6.55", "apiVersion": "v2", "appVersion": "28.0.1", "kubeVersion": ">=1.16.0-0", "maintainers": [ { "name": "truenas", "url": "https://www.truenas.com/", "email": "dev@ixsystems.com" } ], "dependencies": [ { "name": "common", "repository": "file://../../../common/2304.0.1", "version": "2304.0.1" } ], "home": "https://nextcloud.com/", "icon": "https://media.sys.truenas.net/apps/nextcloud/icons/icon.svg", "sources": [ "https://github.com/nextcloud/docker", "https://github.com/nextcloud/helm", "https://github.com/truenas/charts/tree/master/charts/nextcloud" ], "keywords": [ "nextcloud", "storage", "http", "web", "php" ] }, "app_metadata": { "runAsContext": [ { "userName": "root", "groupName": "root", "gid": 0, "uid": 0, "description": "Nextcloud runs as root user." }, { "userName": "root", "groupName": "root", "gid": 0, "uid": 0, "description": "Postgres runs as root user." }, { "userName": "root", "groupName": "root", "gid": 0, "uid": 0, "description": "Nginx runs as root user. (Nginx only runs when certificate is provided)" } ], "capabilities": [ { "name": "CHOWN", "description": "Nextcloud, Nginx and Postgres are able to chown files." }, { "name": "FOWNER", "description": "Nextcloud, Nginx and Postgres are able to bypass permission checks for it's sub-processes." }, { "name": "SYS_CHROOT", "description": "Nextcloud, Nginx and Postgres are able to use chroot." }, { "name": "MKNOD", "description": "Nextcloud, Nginx and Postgres are able to create device nodes." }, { "name": "DAC_OVERRIDE", "description": "Nextcloud, Nginx and Postgres are able to bypass permission checks." }, { "name": "FSETID", "description": "Nextcloud, Nginx and Postgres are able to set file capabilities." }, { "name": "KILL", "description": "Nextcloud, Nginx and Postgres are able to kill processes." }, { "name": "SETGID", "description": "Nextcloud, Nginx and Postgres are able to set group ID for it's sub-processes." }, { "name": "SETUID", "description": "Nextcloud, Nginx and Postgres are able to set user ID for it's sub-processes." }, { "name": "SETPCAP", "description": "Nextcloud, Nginx and Postgres are able to set process capabilities." }, { "name": "NET_BIND_SERVICE", "description": "Nextcloud, Nginx and Postgres are able to bind to privileged ports." }, { "name": "SETFCAP", "description": "Nextcloud, Nginx and Postgres are able to set file capabilities." }, { "name": "NET_RAW", "description": "Nextcloud, Nginx and Postgres are able to use raw sockets." }, { "name": "AUDIT_WRITE", "description": "Nextcloud, Nginx and Postgres are able to write to audit log." } ], "hostMounts": [] }, "schema": { "groups": [ { "name": "Container Images", "description": "Image to be used for container" }, { "name": "Nextcloud Configuration", "description": "Configuration details for Nextcloud workload" }, { "name": "Storage", "description": "Configure Storage for Nextcloud" }, { "name": "Container Configuration", "description": "Configure nextcloud container parameters" }, { "name": "Postgresql Configuration", "description": "Configure Postgresql for nextcloud" }, { "name": "CronJob configuration", "description": "Configure CronJob for nextcloud" }, { "name": "Scaling/Upgrade Policy", "description": "Configure how pods are replaced when configuration is upgraded" }, { "name": "Advanced DNS Settings", "description": "Configure DNS settings" }, { "name": "Resource Limits", "description": "Set CPU/memory limits for Kubernetes Pod" } ], "portals": { "web_portal": { "protocols": [ "$kubernetes-resource_configmap_nginx-configuration_protocol" ], "host": [ "$variable-nextcloud.host" ], "ports": [ "$variable-service.nodePort" ] } }, "questions": [ { "variable": "dnsConfig", "label": "DNS Configuration", "group": "Advanced DNS Settings", "schema": { "type": "dict", "attrs": [ { "variable": "options", "label": "DNS Options", "schema": { "type": "list", "items": [ { "variable": "optionsEntry", "label": "Option Entry Configuration", "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": "certificate", "description": "Configure Certificate for Nextcloud", "label": "Certificate Configuration", "group": "Nextcloud Configuration", "schema": { "type": "int", "$ref": [ "definitions/certificate" ], "enum": [ { "value": null, "description": "No Certificate" } ], "default": null, "null": true } }, { "variable": "nginxConfig", "description": "Configure Nginx for Nextcloud", "label": "Nginx Configuration", "group": "Nextcloud Configuration", "schema": { "type": "dict", "show_if": [ [ "certificate", "!=", null ] ], "attrs": [ { "variable": "proxy_timeouts", "label": "Proxy timeouts (Seconds)", "description": "Applies the timeout to the following settings:
\n- proxy_connect_timeout
\n- proxy_send_timeout
\n- proxy_read_timeout
\n", "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].
\nNote that Nextcloud will still listen on the [Node Port]. (Default 9001)\n", "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": "nextcloud", "description": "Nextcloud configuration details", "label": "Nextcloud Configuration", "group": "Nextcloud Configuration", "schema": { "type": "dict", "required": true, "additional_attrs": true, "attrs": [ { "variable": "host", "description": "Nextcloud host to create application URLs", "label": "Nextcloud host", "schema": { "type": "string", "$ref": [ "definitions/nodeIP" ], "default": "192.168.0.10" } }, { "variable": "username", "label": "Username", "description": "Name of the Nextcloud admin user", "schema": { "type": "string", "default": "admin", "required": true } }, { "variable": "password", "label": "Password", "description": "Password for the Nextcloud admin user", "schema": { "type": "string", "private": true, "default": "changeme", "required": true } }, { "variable": "datadir", "label": "Nextcloud data directory", "description": "Configures the data directory where nextcloud stores all files from the users", "schema": { "type": "path", "default": "/var/www/html/data", "required": true } }, { "variable": "install_ffmpeg", "label": "Install ffmpeg", "description": "Automatically Install ffmpeg when the container starts", "schema": { "type": "boolean", "default": false } }, { "variable": "install_smbclient", "label": "Install smbclient", "description": "Automatically Install smbclient when the container starts", "schema": { "type": "boolean", "default": false } }, { "variable": "max_upload_size", "label": "Max Upload Size (Giga Bytes)", "description": "Applies the timeout to the following settings:
\n- client_max_body_size in nginx
\n- post_max_size and upload_max_filesize in php
\n", "schema": { "type": "int", "default": 3, "min": 1, "required": true } }, { "variable": "max_execution_time", "label": "Max Execution Time (Seconds)", "description": "Configures the max execution time of php", "schema": { "type": "int", "default": 30, "min": 30, "required": true } }, { "variable": "php_memory_limit", "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": "opcache_memory_consumption", "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": "cronjob", "description": "Setup cronjob for nextcloud", "label": "Setup cronjob for nextcloud", "group": "CronJob configuration", "schema": { "type": "dict", "attrs": [ { "variable": "enabled", "label": "Enable cronjobs for nextcloud", "schema": { "type": "boolean", "default": false, "show_subquestions_if": true, "subquestions": [ { "variable": "schedule", "label": "Schedule", "schema": { "type": "string", "default": "*/15 * * * *", "empty": false } } ] } } ] } }, { "variable": "updateStrategy", "description": "Upgrade Policy", "label": "Update Strategy", "group": "Scaling/Upgrade Policy", "schema": { "type": "string", "default": "Recreate", "enum": [ { "value": "RollingUpdate", "description": "Create new pods and then kill old ones" }, { "value": "Recreate", "description": "Kill existing pods before creating new ones" } ] } }, { "variable": "service", "description": "Nextcloud Service Configuration", "label": "Nextcloud Service Configuration", "group": "Nextcloud Configuration", "schema": { "type": "dict", "required": true, "attrs": [ { "variable": "nodePort", "label": "Node Port to use for Nextcloud", "schema": { "type": "int", "min": 9000, "max": 65535, "default": 9001, "required": true } } ] } }, { "variable": "appVolumeMounts", "label": "Nextcloud Storage", "group": "Storage", "schema": { "type": "dict", "attrs": [ { "variable": "nextcloud-data", "label": "Nextcloud Data Volume", "schema": { "type": "dict", "attrs": [ { "variable": "datasetName", "label": "Nextcloud Data Volume Name", "schema": { "type": "string", "hidden": true, "$ref": [ "normalize/ixVolume" ], "show_if": [ [ "hostPathEnabled", "=", false ] ], "default": "ix-nextcloud_data", "editable": false } }, { "variable": "mountPath", "label": "Nextcloud Data Mount Path", "description": "Path where the volume will be mounted inside the pod", "schema": { "type": "path", "hidden": true, "editable": false, "default": "/var/www" } }, { "variable": "hostPathEnabled", "label": "Enable Host Path for Nextcloud Data Volume", "schema": { "type": "boolean", "default": false, "show_subquestions_if": true, "subquestions": [ { "variable": "hostPath", "label": "Host Path for Nextcloud Data Volume", "schema": { "type": "hostpath", "required": true } } ] } } ] } } ] } }, { "variable": "extraAppVolumeMounts", "label": "Nextcloud Extra Host Path Volumes", "group": "Storage", "schema": { "type": "list", "items": [ { "variable": "extraAppVolume", "label": "Nextcloud Host Path Volume", "description": "Add an extra host path volume for nextcloud application", "schema": { "type": "dict", "attrs": [ { "variable": "mountPath", "label": "Mount Path in Pod", "description": "Path where the volume will be mounted inside the pod", "schema": { "type": "path", "required": true } }, { "variable": "hostPath", "label": "Host Path", "description": "Host path", "schema": { "type": "hostpath", "required": true } } ] } } ] } }, { "variable": "postgresAppVolumeMounts", "label": "Postgres Storage", "group": "Storage", "schema": { "type": "dict", "attrs": [ { "variable": "postgres-data", "label": "Postgres Data Volume", "schema": { "type": "dict", "attrs": [ { "variable": "datasetName", "label": "Postgres Data Volume Name", "schema": { "type": "string", "hidden": true, "$ref": [ "normalize/ixVolume" ], "default": "ix-postgres_data", "show_if": [ [ "hostPathEnabled", "=", false ] ], "editable": false } }, { "variable": "mountPath", "label": "Postgresql Data Mount Path", "description": "Path where the volume will be mounted inside the pod", "schema": { "type": "path", "hidden": true, "editable": false, "default": "/var/lib/postgresql/data" } }, { "variable": "hostPathEnabled", "label": "Enable Host Path for Postgres Data Volume", "schema": { "type": "boolean", "default": false, "show_subquestions_if": true, "subquestions": [ { "variable": "hostPath", "label": "Host Path for Postgres Data Volume", "schema": { "type": "hostpath", "required": true } } ] } } ] } }, { "variable": "postgres-backup", "label": "Postgres Backup Volume", "schema": { "type": "dict", "attrs": [ { "variable": "datasetName", "label": "Postgres Backup Volume Name", "schema": { "type": "string", "hidden": true, "$ref": [ "normalize/ixVolume" ], "default": "ix-postgres_backups", "show_if": [ [ "hostPathEnabled", "=", false ] ], "editable": false } }, { "variable": "mountPath", "label": "Postgresql Backup Mount Path", "description": "Path where the volume will be mounted inside the pod", "schema": { "type": "path", "hidden": true, "editable": false, "default": "/postgres_backups" } }, { "variable": "hostPathEnabled", "label": "Enable Host Path for Postgres Backup Volume", "schema": { "type": "boolean", "default": false, "show_subquestions_if": true, "subquestions": [ { "variable": "hostPath", "label": "Host Path for Postgres Backup Volume", "schema": { "type": "hostpath", "required": true } } ] } } ] } } ] } }, { "variable": "enableResourceLimits", "label": "Enable Pod resource limits", "group": "Resource Limits", "schema": { "type": "boolean", "default": false } }, { "variable": "cpuLimit", "label": "CPU Limit", "description": "CPU resource limit allow plain integer values with suffix m(milli) e.g 1000m, 100.", "group": "Resource Limits", "schema": { "type": "string", "show_if": [ [ "enableResourceLimits", "=", true ] ], "valid_chars": "^\\d+(?:\\.\\d+(?!.*m$)|m?$)", "default": "4000m" } }, { "variable": "memLimit", "label": "Memory Limit", "group": "Resource Limits", "description": "Memory limits is specified by number of bytes. Followed by quantity suffix like E,P,T,G,M,k and Ei,Pi,Ti,Mi,Gi,Ki can also be used. e.g 129e6, 129M, 128974848000m, 123Mi", "schema": { "type": "string", "show_if": [ [ "enableResourceLimits", "=", true ] ], "valid_chars": "^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$", "default": "8Gi" } }, { "variable": "environmentVariables", "label": "Nextcloud environment", "group": "Nextcloud Configuration", "schema": { "type": "list", "default": [], "items": [ { "variable": "environmentVariable", "label": "Environment Variable", "schema": { "type": "dict", "attrs": [ { "variable": "name", "label": "Name", "schema": { "type": "string" } }, { "variable": "value", "label": "Value", "schema": { "type": "string" } } ] } } ] } } ] }, "app_readme": "

nextcloud

\n

nextcloud is a file sharing server that puts the control and security of your own data back into your hands.

", "detailed_readme": "

nextcloud

\n

nextcloud is a file sharing server that puts the control and security of your own data back into your hands.

\n

Introduction

\n

This chart bootstraps an nextcloud deployment on a Kubernetes cluster using the Helm package manager.

\n

Configuration

\n

Please refer to questions.yaml for a detailed overview on supported configurable values.

", "changelog": null }, "1.6.53": { "healthy": true, "supported": true, "healthy_error": null, "location": "/__w/charts/charts/charts/nextcloud/1.6.53", "last_update": "2023-11-29 13:01:06", "required_features": [ "definitions/certificate", "definitions/nodeIP", "normalize/ixVolume" ], "human_version": "27.1.4_1.6.53", "version": "1.6.53", "chart_metadata": { "name": "nextcloud", "description": "A file sharing server that puts the control and security of your own data back into your hands.", "annotations": { "title": "Nextcloud" }, "type": "application", "version": "1.6.53", "apiVersion": "v2", "appVersion": "27.1.4", "kubeVersion": ">=1.16.0-0", "maintainers": [ { "name": "truenas", "url": "https://www.truenas.com/", "email": "dev@ixsystems.com" } ], "dependencies": [ { "name": "common", "repository": "file://../../../common/2304.0.1", "version": "2304.0.1" } ], "home": "https://nextcloud.com/", "icon": "https://media.sys.truenas.net/apps/nextcloud/icons/icon.svg", "sources": [ "https://github.com/nextcloud/docker", "https://github.com/nextcloud/helm", "https://github.com/truenas/charts/tree/master/charts/nextcloud" ], "keywords": [ "nextcloud", "storage", "http", "web", "php" ] }, "app_metadata": { "runAsContext": [ { "userName": "root", "groupName": "root", "gid": 0, "uid": 0, "description": "Nextcloud runs as root user." }, { "userName": "root", "groupName": "root", "gid": 0, "uid": 0, "description": "Postgres runs as root user." }, { "userName": "root", "groupName": "root", "gid": 0, "uid": 0, "description": "Nginx runs as root user. (Nginx only runs when certificate is provided)" } ], "capabilities": [ { "name": "CHOWN", "description": "Nextcloud, Nginx and Postgres are able to chown files." }, { "name": "FOWNER", "description": "Nextcloud, Nginx and Postgres are able to bypass permission checks for it's sub-processes." }, { "name": "SYS_CHROOT", "description": "Nextcloud, Nginx and Postgres are able to use chroot." }, { "name": "MKNOD", "description": "Nextcloud, Nginx and Postgres are able to create device nodes." }, { "name": "DAC_OVERRIDE", "description": "Nextcloud, Nginx and Postgres are able to bypass permission checks." }, { "name": "FSETID", "description": "Nextcloud, Nginx and Postgres are able to set file capabilities." }, { "name": "KILL", "description": "Nextcloud, Nginx and Postgres are able to kill processes." }, { "name": "SETGID", "description": "Nextcloud, Nginx and Postgres are able to set group ID for it's sub-processes." }, { "name": "SETUID", "description": "Nextcloud, Nginx and Postgres are able to set user ID for it's sub-processes." }, { "name": "SETPCAP", "description": "Nextcloud, Nginx and Postgres are able to set process capabilities." }, { "name": "NET_BIND_SERVICE", "description": "Nextcloud, Nginx and Postgres are able to bind to privileged ports." }, { "name": "SETFCAP", "description": "Nextcloud, Nginx and Postgres are able to set file capabilities." }, { "name": "NET_RAW", "description": "Nextcloud, Nginx and Postgres are able to use raw sockets." }, { "name": "AUDIT_WRITE", "description": "Nextcloud, Nginx and Postgres are able to write to audit log." } ], "hostMounts": [] }, "schema": { "groups": [ { "name": "Container Images", "description": "Image to be used for container" }, { "name": "Nextcloud Configuration", "description": "Configuration details for Nextcloud workload" }, { "name": "Storage", "description": "Configure Storage for Nextcloud" }, { "name": "Container Configuration", "description": "Configure nextcloud container parameters" }, { "name": "Postgresql Configuration", "description": "Configure Postgresql for nextcloud" }, { "name": "CronJob configuration", "description": "Configure CronJob for nextcloud" }, { "name": "Scaling/Upgrade Policy", "description": "Configure how pods are replaced when configuration is upgraded" }, { "name": "Advanced DNS Settings", "description": "Configure DNS settings" }, { "name": "Resource Limits", "description": "Set CPU/memory limits for Kubernetes Pod" } ], "portals": { "web_portal": { "protocols": [ "$kubernetes-resource_configmap_nginx-configuration_protocol" ], "host": [ "$variable-nextcloud.host" ], "ports": [ "$variable-service.nodePort" ] } }, "questions": [ { "variable": "dnsConfig", "label": "DNS Configuration", "group": "Advanced DNS Settings", "schema": { "type": "dict", "attrs": [ { "variable": "options", "label": "DNS Options", "schema": { "type": "list", "items": [ { "variable": "optionsEntry", "label": "Option Entry Configuration", "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": "certificate", "description": "Configure Certificate for Nextcloud", "label": "Certificate Configuration", "group": "Nextcloud Configuration", "schema": { "type": "int", "$ref": [ "definitions/certificate" ], "enum": [ { "value": null, "description": "No Certificate" } ], "default": null, "null": true } }, { "variable": "nginxConfig", "description": "Configure Nginx for Nextcloud", "label": "Nginx Configuration", "group": "Nextcloud Configuration", "schema": { "type": "dict", "show_if": [ [ "certificate", "!=", null ] ], "attrs": [ { "variable": "proxy_timeouts", "label": "Proxy timeouts (Seconds)", "description": "Applies the timeout to the following settings:
\n- proxy_connect_timeout
\n- proxy_send_timeout
\n- proxy_read_timeout
\n", "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].
\nNote that Nextcloud will still listen on the [Node Port]. (Default 9001)\n", "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": "nextcloud", "description": "Nextcloud configuration details", "label": "Nextcloud Configuration", "group": "Nextcloud Configuration", "schema": { "type": "dict", "required": true, "additional_attrs": true, "attrs": [ { "variable": "host", "description": "Nextcloud host to create application URLs", "label": "Nextcloud host", "schema": { "type": "string", "$ref": [ "definitions/nodeIP" ], "default": "192.168.0.10" } }, { "variable": "username", "label": "Username", "description": "Name of the Nextcloud admin user", "schema": { "type": "string", "default": "admin", "required": true } }, { "variable": "password", "label": "Password", "description": "Password for the Nextcloud admin user", "schema": { "type": "string", "private": true, "default": "changeme", "required": true } }, { "variable": "datadir", "label": "Nextcloud data directory", "description": "Configures the data directory where nextcloud stores all files from the users", "schema": { "type": "path", "default": "/var/www/html/data", "required": true } }, { "variable": "install_ffmpeg", "label": "Install ffmpeg", "description": "Automatically Install ffmpeg when the container starts", "schema": { "type": "boolean", "default": false } }, { "variable": "install_smbclient", "label": "Install smbclient", "description": "Automatically Install smbclient when the container starts", "schema": { "type": "boolean", "default": false } }, { "variable": "max_upload_size", "label": "Max Upload Size (Giga Bytes)", "description": "Applies the timeout to the following settings:
\n- client_max_body_size in nginx
\n- post_max_size and upload_max_filesize in php
\n", "schema": { "type": "int", "default": 3, "min": 1, "required": true } }, { "variable": "max_execution_time", "label": "Max Execution Time (Seconds)", "description": "Configures the max execution time of php", "schema": { "type": "int", "default": 30, "min": 30, "required": true } }, { "variable": "php_memory_limit", "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": "opcache_memory_consumption", "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": "cronjob", "description": "Setup cronjob for nextcloud", "label": "Setup cronjob for nextcloud", "group": "CronJob configuration", "schema": { "type": "dict", "attrs": [ { "variable": "enabled", "label": "Enable cronjobs for nextcloud", "schema": { "type": "boolean", "default": false, "show_subquestions_if": true, "subquestions": [ { "variable": "schedule", "label": "Schedule", "schema": { "type": "string", "default": "*/15 * * * *", "empty": false } } ] } } ] } }, { "variable": "updateStrategy", "description": "Upgrade Policy", "label": "Update Strategy", "group": "Scaling/Upgrade Policy", "schema": { "type": "string", "default": "Recreate", "enum": [ { "value": "RollingUpdate", "description": "Create new pods and then kill old ones" }, { "value": "Recreate", "description": "Kill existing pods before creating new ones" } ] } }, { "variable": "service", "description": "Nextcloud Service Configuration", "label": "Nextcloud Service Configuration", "group": "Nextcloud Configuration", "schema": { "type": "dict", "required": true, "attrs": [ { "variable": "nodePort", "label": "Node Port to use for Nextcloud", "schema": { "type": "int", "min": 9000, "max": 65535, "default": 9001, "required": true } } ] } }, { "variable": "appVolumeMounts", "label": "Nextcloud Storage", "group": "Storage", "schema": { "type": "dict", "attrs": [ { "variable": "nextcloud-data", "label": "Nextcloud Data Volume", "schema": { "type": "dict", "attrs": [ { "variable": "datasetName", "label": "Nextcloud Data Volume Name", "schema": { "type": "string", "hidden": true, "$ref": [ "normalize/ixVolume" ], "show_if": [ [ "hostPathEnabled", "=", false ] ], "default": "ix-nextcloud_data", "editable": false } }, { "variable": "mountPath", "label": "Nextcloud Data Mount Path", "description": "Path where the volume will be mounted inside the pod", "schema": { "type": "path", "hidden": true, "editable": false, "default": "/var/www" } }, { "variable": "hostPathEnabled", "label": "Enable Host Path for Nextcloud Data Volume", "schema": { "type": "boolean", "default": false, "show_subquestions_if": true, "subquestions": [ { "variable": "hostPath", "label": "Host Path for Nextcloud Data Volume", "schema": { "type": "hostpath", "required": true } } ] } } ] } } ] } }, { "variable": "extraAppVolumeMounts", "label": "Nextcloud Extra Host Path Volumes", "group": "Storage", "schema": { "type": "list", "items": [ { "variable": "extraAppVolume", "label": "Nextcloud Host Path Volume", "description": "Add an extra host path volume for nextcloud application", "schema": { "type": "dict", "attrs": [ { "variable": "mountPath", "label": "Mount Path in Pod", "description": "Path where the volume will be mounted inside the pod", "schema": { "type": "path", "required": true } }, { "variable": "hostPath", "label": "Host Path", "description": "Host path", "schema": { "type": "hostpath", "required": true } } ] } } ] } }, { "variable": "postgresAppVolumeMounts", "label": "Postgres Storage", "group": "Storage", "schema": { "type": "dict", "attrs": [ { "variable": "postgres-data", "label": "Postgres Data Volume", "schema": { "type": "dict", "attrs": [ { "variable": "datasetName", "label": "Postgres Data Volume Name", "schema": { "type": "string", "hidden": true, "$ref": [ "normalize/ixVolume" ], "default": "ix-postgres_data", "show_if": [ [ "hostPathEnabled", "=", false ] ], "editable": false } }, { "variable": "mountPath", "label": "Postgresql Data Mount Path", "description": "Path where the volume will be mounted inside the pod", "schema": { "type": "path", "hidden": true, "editable": false, "default": "/var/lib/postgresql/data" } }, { "variable": "hostPathEnabled", "label": "Enable Host Path for Postgres Data Volume", "schema": { "type": "boolean", "default": false, "show_subquestions_if": true, "subquestions": [ { "variable": "hostPath", "label": "Host Path for Postgres Data Volume", "schema": { "type": "hostpath", "required": true } } ] } } ] } }, { "variable": "postgres-backup", "label": "Postgres Backup Volume", "schema": { "type": "dict", "attrs": [ { "variable": "datasetName", "label": "Postgres Backup Volume Name", "schema": { "type": "string", "hidden": true, "$ref": [ "normalize/ixVolume" ], "default": "ix-postgres_backups", "show_if": [ [ "hostPathEnabled", "=", false ] ], "editable": false } }, { "variable": "mountPath", "label": "Postgresql Backup Mount Path", "description": "Path where the volume will be mounted inside the pod", "schema": { "type": "path", "hidden": true, "editable": false, "default": "/postgres_backups" } }, { "variable": "hostPathEnabled", "label": "Enable Host Path for Postgres Backup Volume", "schema": { "type": "boolean", "default": false, "show_subquestions_if": true, "subquestions": [ { "variable": "hostPath", "label": "Host Path for Postgres Backup Volume", "schema": { "type": "hostpath", "required": true } } ] } } ] } } ] } }, { "variable": "enableResourceLimits", "label": "Enable Pod resource limits", "group": "Resource Limits", "schema": { "type": "boolean", "default": false } }, { "variable": "cpuLimit", "label": "CPU Limit", "description": "CPU resource limit allow plain integer values with suffix m(milli) e.g 1000m, 100.", "group": "Resource Limits", "schema": { "type": "string", "show_if": [ [ "enableResourceLimits", "=", true ] ], "valid_chars": "^\\d+(?:\\.\\d+(?!.*m$)|m?$)", "default": "4000m" } }, { "variable": "memLimit", "label": "Memory Limit", "group": "Resource Limits", "description": "Memory limits is specified by number of bytes. Followed by quantity suffix like E,P,T,G,M,k and Ei,Pi,Ti,Mi,Gi,Ki can also be used. e.g 129e6, 129M, 128974848000m, 123Mi", "schema": { "type": "string", "show_if": [ [ "enableResourceLimits", "=", true ] ], "valid_chars": "^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$", "default": "8Gi" } }, { "variable": "environmentVariables", "label": "Nextcloud environment", "group": "Nextcloud Configuration", "schema": { "type": "list", "default": [], "items": [ { "variable": "environmentVariable", "label": "Environment Variable", "schema": { "type": "dict", "attrs": [ { "variable": "name", "label": "Name", "schema": { "type": "string" } }, { "variable": "value", "label": "Value", "schema": { "type": "string" } } ] } } ] } } ] }, "app_readme": "

nextcloud

\n

nextcloud is a file sharing server that puts the control and security of your own data back into your hands.

", "detailed_readme": "

nextcloud

\n

nextcloud is a file sharing server that puts the control and security of your own data back into your hands.

\n

Introduction

\n

This chart bootstraps an nextcloud deployment on a Kubernetes cluster using the Helm package manager.

\n

Configuration

\n

Please refer to questions.yaml for a detailed overview on supported configurable values.

", "changelog": null }, "1.6.29": { "healthy": true, "supported": true, "healthy_error": null, "location": "/__w/charts/charts/charts/nextcloud/1.6.29", "last_update": "2023-10-06 13:44:43", "required_features": [ "definitions/certificate", "definitions/nodeIP", "normalize/ixVolume" ], "human_version": "26.0.2_1.6.29", "version": "1.6.29", "chart_metadata": { "name": "nextcloud", "description": "A file sharing server that puts the control and security of your own data back into your hands.", "annotations": { "title": "Nextcloud" }, "type": "application", "version": "1.6.29", "apiVersion": "v2", "appVersion": "26.0.2", "kubeVersion": ">=1.16.0-0", "maintainers": [ { "name": "truenas", "url": "https://www.truenas.com/", "email": "dev@ixsystems.com" } ], "dependencies": [ { "name": "common", "repository": "file://../../../common/2304.0.1", "version": "2304.0.1" } ], "home": "https://nextcloud.com/", "icon": "https://cdn.rawgit.com/docker-library/docs/defa5ffc7123177acd60ddef6e16bddf694cc35f/nextcloud/logo.svg", "sources": [ "https://github.com/nextcloud/docker", "https://github.com/nextcloud/helm", "https://github.com/truenas/charts/tree/master/library/ix-dev/charts/nextcloud" ], "keywords": [ "nextcloud", "storage", "http", "web", "php" ] }, "app_metadata": { "runAsContext": [ { "userName": "root", "groupName": "root", "gid": 0, "uid": 0, "description": "Nextcloud runs as root user." }, { "userName": "root", "groupName": "root", "gid": 0, "uid": 0, "description": "Postgres runs as root user." }, { "userName": "root", "groupName": "root", "gid": 0, "uid": 0, "description": "Nginx runs as root user. (Nginx only runs when certificate is provided)" } ], "capabilities": [ { "name": "CHOWN", "description": "Nextcloud, Nginx and Postgres are able to chown files." }, { "name": "FOWNER", "description": "Nextcloud, Nginx and Postgres are able to bypass permission checks for it's sub-processes." }, { "name": "SYS_CHROOT", "description": "Nextcloud, Nginx and Postgres are able to use chroot." }, { "name": "MKNOD", "description": "Nextcloud, Nginx and Postgres are able to create device nodes." }, { "name": "DAC_OVERRIDE", "description": "Nextcloud, Nginx and Postgres are able to bypass permission checks." }, { "name": "FSETID", "description": "Nextcloud, Nginx and Postgres are able to set file capabilities." }, { "name": "KILL", "description": "Nextcloud, Nginx and Postgres are able to kill processes." }, { "name": "SETGID", "description": "Nextcloud, Nginx and Postgres are able to set group ID for it's sub-processes." }, { "name": "SETUID", "description": "Nextcloud, Nginx and Postgres are able to set user ID for it's sub-processes." }, { "name": "SETPCAP", "description": "Nextcloud, Nginx and Postgres are able to set process capabilities." }, { "name": "NET_BIND_SERVICE", "description": "Nextcloud, Nginx and Postgres are able to bind to privileged ports." }, { "name": "SETFCAP", "description": "Nextcloud, Nginx and Postgres are able to set file capabilities." }, { "name": "NET_RAW", "description": "Nextcloud, Nginx and Postgres are able to use raw sockets." }, { "name": "AUDIT_WRITE", "description": "Nextcloud, Nginx and Postgres are able to write to audit log." } ], "hostMounts": [] }, "schema": { "groups": [ { "name": "Container Images", "description": "Image to be used for container" }, { "name": "Nextcloud Configuration", "description": "Configuration details for Nextcloud workload" }, { "name": "Storage", "description": "Configure Storage for Nextcloud" }, { "name": "Container Configuration", "description": "Configure nextcloud container parameters" }, { "name": "Postgresql Configuration", "description": "Configure Postgresql for nextcloud" }, { "name": "CronJob configuration", "description": "Configure CronJob for nextcloud" }, { "name": "Scaling/Upgrade Policy", "description": "Configure how pods are replaced when configuration is upgraded" }, { "name": "Advanced DNS Settings", "description": "Configure DNS settings" }, { "name": "Resource Limits", "description": "Set CPU/memory limits for Kubernetes Pod" } ], "portals": { "web_portal": { "protocols": [ "$kubernetes-resource_configmap_nginx-configuration_protocol" ], "host": [ "$variable-nextcloud.host" ], "ports": [ "$variable-service.nodePort" ] } }, "questions": [ { "variable": "dnsConfig", "label": "DNS Configuration", "group": "Advanced DNS Settings", "schema": { "type": "dict", "attrs": [ { "variable": "options", "label": "DNS Options", "schema": { "type": "list", "items": [ { "variable": "optionsEntry", "label": "Option Entry Configuration", "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": "certificate", "description": "Configure Certificate for Nextcloud", "label": "Certificate Configuration", "group": "Nextcloud Configuration", "schema": { "type": "int", "$ref": [ "definitions/certificate" ], "enum": [ { "value": null, "description": "No Certificate" } ], "default": null, "null": true } }, { "variable": "nextcloud", "description": "Nextcloud configuration details", "label": "Nextcloud Configuration", "group": "Nextcloud Configuration", "schema": { "type": "dict", "required": true, "additional_attrs": true, "attrs": [ { "variable": "host", "description": "Nextcloud host to create application URLs", "label": "Nextcloud host", "schema": { "type": "string", "$ref": [ "definitions/nodeIP" ], "default": "192.168.0.10" } }, { "variable": "username", "label": "Username", "description": "Name of the Nextcloud admin user", "schema": { "type": "string", "default": "admin", "required": true } }, { "variable": "password", "label": "Password", "description": "Password for the Nextcloud admin user", "schema": { "type": "string", "private": true, "default": "changeme", "required": true } }, { "variable": "datadir", "label": "Nextcloud data directory", "description": "Configures the data directory where nextcloud stores all files from the users", "schema": { "type": "path", "default": "/var/www/html/data", "required": true } }, { "variable": "install_ffmpeg", "label": "Install ffmpeg", "description": "Automatically Install ffmpeg when the container starts", "schema": { "type": "boolean", "default": false } } ] } }, { "variable": "cronjob", "description": "Setup cronjob for nextcloud", "label": "Setup cronjob for nextcloud", "group": "CronJob configuration", "schema": { "type": "dict", "attrs": [ { "variable": "enabled", "label": "Enable cronjobs for nextcloud", "schema": { "type": "boolean", "default": false, "show_subquestions_if": true, "subquestions": [ { "variable": "schedule", "label": "Schedule", "schema": { "type": "string", "default": "1 */24 * * *", "empty": false } } ] } } ] } }, { "variable": "updateStrategy", "description": "Upgrade Policy", "label": "Update Strategy", "group": "Scaling/Upgrade Policy", "schema": { "type": "string", "default": "Recreate", "enum": [ { "value": "RollingUpdate", "description": "Create new pods and then kill old ones" }, { "value": "Recreate", "description": "Kill existing pods before creating new ones" } ] } }, { "variable": "service", "description": "Nextcloud Service Configuration", "label": "Nextcloud Service Configuration", "group": "Nextcloud Configuration", "schema": { "type": "dict", "required": true, "attrs": [ { "variable": "nodePort", "label": "Node Port to use for Nextcloud", "schema": { "type": "int", "min": 9000, "max": 65535, "default": 9001, "required": true } } ] } }, { "variable": "appVolumeMounts", "label": "Nextcloud Storage", "group": "Storage", "schema": { "type": "dict", "attrs": [ { "variable": "nextcloud-data", "label": "Nextcloud Data Volume", "schema": { "type": "dict", "attrs": [ { "variable": "datasetName", "label": "Nextcloud Data Volume Name", "schema": { "type": "string", "hidden": true, "$ref": [ "normalize/ixVolume" ], "show_if": [ [ "hostPathEnabled", "=", false ] ], "default": "ix-nextcloud_data", "editable": false } }, { "variable": "mountPath", "label": "Nextcloud Data Mount Path", "description": "Path where the volume will be mounted inside the pod", "schema": { "type": "path", "hidden": true, "editable": false, "default": "/var/www" } }, { "variable": "hostPathEnabled", "label": "Enable Host Path for Nextcloud Data Volume", "schema": { "type": "boolean", "default": false, "show_subquestions_if": true, "subquestions": [ { "variable": "hostPath", "label": "Host Path for Nextcloud Data Volume", "schema": { "type": "hostpath", "required": true } } ] } } ] } } ] } }, { "variable": "extraAppVolumeMounts", "label": "Nextcloud Extra Host Path Volumes", "group": "Storage", "schema": { "type": "list", "items": [ { "variable": "extraAppVolume", "label": "Nextcloud Host Path Volume", "description": "Add an extra host path volume for nextcloud application", "schema": { "type": "dict", "attrs": [ { "variable": "mountPath", "label": "Mount Path in Pod", "description": "Path where the volume will be mounted inside the pod", "schema": { "type": "path", "required": true } }, { "variable": "hostPath", "label": "Host Path", "description": "Host path", "schema": { "type": "hostpath", "required": true } } ] } } ] } }, { "variable": "postgresAppVolumeMounts", "label": "Postgres Storage", "group": "Storage", "schema": { "type": "dict", "attrs": [ { "variable": "postgres-data", "label": "Postgres Data Volume", "schema": { "type": "dict", "attrs": [ { "variable": "datasetName", "label": "Postgres Data Volume Name", "schema": { "type": "string", "hidden": true, "$ref": [ "normalize/ixVolume" ], "default": "ix-postgres_data", "show_if": [ [ "hostPathEnabled", "=", false ] ], "editable": false } }, { "variable": "mountPath", "label": "Postgresql Data Mount Path", "description": "Path where the volume will be mounted inside the pod", "schema": { "type": "path", "hidden": true, "editable": false, "default": "/var/lib/postgresql/data" } }, { "variable": "hostPathEnabled", "label": "Enable Host Path for Postgres Data Volume", "schema": { "type": "boolean", "default": false, "show_subquestions_if": true, "subquestions": [ { "variable": "hostPath", "label": "Host Path for Postgres Data Volume", "schema": { "type": "hostpath", "required": true } } ] } } ] } }, { "variable": "postgres-backup", "label": "Postgres Backup Volume", "schema": { "type": "dict", "attrs": [ { "variable": "datasetName", "label": "Postgres Backup Volume Name", "schema": { "type": "string", "hidden": true, "$ref": [ "normalize/ixVolume" ], "default": "ix-postgres_backups", "show_if": [ [ "hostPathEnabled", "=", false ] ], "editable": false } }, { "variable": "mountPath", "label": "Postgresql Backup Mount Path", "description": "Path where the volume will be mounted inside the pod", "schema": { "type": "path", "hidden": true, "editable": false, "default": "/postgres_backups" } }, { "variable": "hostPathEnabled", "label": "Enable Host Path for Postgres Backup Volume", "schema": { "type": "boolean", "default": false, "show_subquestions_if": true, "subquestions": [ { "variable": "hostPath", "label": "Host Path for Postgres Backup Volume", "schema": { "type": "hostpath", "required": true } } ] } } ] } } ] } }, { "variable": "enableResourceLimits", "label": "Enable Pod resource limits", "group": "Resource Limits", "schema": { "type": "boolean", "default": false } }, { "variable": "cpuLimit", "label": "CPU Limresource limitsit", "description": "CPU resource limit allow plain integer values with suffix m(milli) e.g 1000m, 100.", "group": "Resource Limits", "schema": { "type": "string", "show_if": [ [ "enableResourceLimits", "=", true ] ], "valid_chars": "^\\d+(?:\\.\\d+(?!.*m$)|m?$)", "default": "4000m" } }, { "variable": "memLimit", "label": "Memory Limit", "group": "Resource Limits", "description": "Memory limits is specified by number of bytes. Followed by quantity suffix like E,P,T,G,M,k and Ei,Pi,Ti,Mi,Gi,Ki can also be used. e.g 129e6, 129M, 128974848000m, 123Mi", "schema": { "type": "string", "show_if": [ [ "enableResourceLimits", "=", true ] ], "valid_chars": "^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$", "default": "8Gi" } }, { "variable": "environmentVariables", "label": "Nextcloud environment", "group": "Nextcloud Configuration", "schema": { "type": "list", "default": [], "items": [ { "variable": "environmentVariable", "label": "Environment Variable", "schema": { "type": "dict", "attrs": [ { "variable": "name", "label": "Name", "schema": { "type": "string" } }, { "variable": "value", "label": "Value", "schema": { "type": "string" } } ] } } ] } } ] }, "app_readme": "

nextcloud

\n

nextcloud is a file sharing server that puts the control and security of your own data back into your hands.

", "detailed_readme": "

nextcloud

\n

nextcloud is a file sharing server that puts the control and security of your own data back into your hands.

\n

Introduction

\n

This chart bootstraps an nextcloud deployment on a Kubernetes cluster using the Helm package manager.

\n

Configuration

\n

Please refer to questions.yaml for a detailed overview on supported configurable values.

", "changelog": null } }