nextcloud helm

No introduction found. Create it?

Install

Install with:

helm repo add nextcloud oci://ghcr.io/bjw-s-labs/charts/
helm install nextcloud nextcloud/nextcloud -f values.yaml

Examples

See examples from other people.

Top Repositories (3 out of 18)

NameRepoStarsVersionTimestamp
nextcloudharaldkoch/kochhaus-home1668.9.12 days ago
nextclouddrag0n141/home-ops528.9.1a month ago
nextcloudbudimanjojo/home-cluster2438.7.03 months ago

Values

See the most popular values for this chart:

KeyTypes
boolean
boolean
string
string
string
string
string
string
string
externalDatabase.host (14)
postgres-nextcloud-rw.databases.svc.cluster.local.
string
boolean
boolean
string
string
string
string
string
string
nextcloud.host (16)
cloud.${SECRET_DOMAIN}
string
nextcloud.extraEnv[].name (15)
REDIS_HOST
REDIS_HOST_PORT
string
nextcloud.extraEnv[].value (14)
dragonfly.databases.svc.cluster.local.
6379
string
string
nextcloud.extraEnv[].valueFrom.secretKeyRef.name (6)
nextcloud-secret
nextcloud-secret
nextcloud-secret
string
string
boolean
string
number, string
string
string
nextcloud.mail.smtp.host (8)
smtp-relay.${SECRET_DOMAIN}
string
string
string
string
nextcloud.extraInitContainers[].image (13)
ghcr.io/home-operations/postgres-init:18
string
string
nextcloud.extraInitContainers[].command[] (3)
- sh
- -c
- touch /usr/local/etc/php/conf.d/redis-session.ini
string
string
string
nextcloud.configs."misc.config.php" (9)
<?php $CONFIG = array ( 'default_phone_region' => 'PL', 'maintenance_window_start' => 2, ); ?>
string
nextcloud.configs."proxy.config.php" (9)
<?php $CONFIG = array ( 'trusted_proxies' => array( 0 => '127.0.0.1', 1 => '10.43.0.0/16', 1 => '10.0.0.0/16', ), 'forwarded_for_headers' => array('HTTP_X_FORWARDED_FOR'), ); ?>
string
nextcloud.configs."local.config.php" (6)
<?php $CONFIG = array ( 'trusted_proxies' => array ( 0 => 'cloud.thesteamedcrab.com', 1 => '127.0.0.1', 2 => '192.168.1.0/24', ), 'overwriteprotocol' => 'https', 'allow_local_remote_servers' => true, 'forwarded_for_headers' => array ( 0 => 'HTTP_X_FORWARDED_FOR', ), 'default_phone_region' => 'CL', 'trashbin_retention_obligation' => 'auto, 30', 'auth.bruteforce.protection.enabled' => true, 'check_data_directory_permissions' => false, 'overwrite.cli.url' => 'https://cloud.thesteamedcrab.com', );
string
nextcloud.configs."logging.config.php" (6)
<?php $CONFIG = array ( 'log_type' => 'file', 'logfile' => 'nextcloud.log', 'loglevel' => 0, 'logdateformat' => 'F d, Y H:i:s' );
string
nextcloud.configs."ingress.config.php" (4)
<?php $CONFIG = array ( 'overwrite.cli.url' => 'https://cloud.${SECRET_DOMAIN}', 'overwriteprotocol' => 'https', );
string
nextcloud.configs."oidc.config.php" (3)
<?php $CONFIG = array ( 'allow_user_to_change_display_name' => false, 'lost_password_link' => 'disabled', 'oidc_login_provider_url' => 'https://auth.${SECRET_DOMAIN_0}', 'oidc_login_client_id' => 'nextcloud', 'oidc_login_client_secret' => getenv('OIDC_CLIENT_SECRET'), 'oidc_login_auto_redirect' => false, 'oidc_login_button_text' => 'Log in with Authelia', 'oidc_login_hide_password_form' => false, 'oidc_login_use_id_token' => false, 'oidc_login_attributes' => array( 'id' => 'preferred_username', 'name' => 'name', 'mail' => 'email', 'groups' => 'groups', 'is_admin' => 'is_nextcloud_admin', ), 'oidc_login_default_group' => 'oidc', 'oidc_login_use_external_storage' => false, 'oidc_login_scope' => 'openid profile email groups nextcloud_userinfo', 'oidc_login_proxy_ldap' => false, 'oidc_login_disable_registration' => true, 'oidc_login_redir_fallback' => false, 'oidc_login_tls_verify' => true, 'oidc_create_groups' => false, 'oidc_login_webdav_enabled' => false, 'oidc_login_password_authentication' => false, 'oidc_login_public_key_caching_time' => 86400, 'oidc_login_min_time_between_jwks_requests' => 10, 'oidc_login_well_known_caching_time' => 86400, 'oidc_login_update_avatar' => false, 'oidc_login_code_challenge_method' => 'S256', );
string
nextcloud.configs."sso.config.php" (3)
<?php $CONFIG = array ( 'allow_user_to_change_display_name' => false, 'lost_password_link' => 'disabled', 'oidc_login_client_id' => getenv('OIDC_CLIENT_ID'), 'oidc_login_client_secret' => getenv('OIDC_CLIENT_SECRET'), 'oidc_login_provider_url' => 'https://id.${SECRET_DOMAIN}', 'oidc_login_auto_redirect' => true, //login?noredir=1 'oidc_login_end_session_redirect' => true, 'oidc_login_button_text' => 'Log in with Pocket ID', 'oidc_login_hide_password_form' => true, 'oidc_login_use_id_token' => false, 'oidc_login_attributes' => array ( 'id' => 'preferred_username', 'name' => 'name', 'mail' => 'email', 'groups' => 'groups', 'login_filter' => 'groups', 'photoURL' => 'picture', 'is_admin' => 'groups_ID-Admin', ), 'oidc_login_filter_allowed_values' => array('ID-Nextcloud'), 'oidc_login_use_external_storage' => false, 'oidc_login_scope' => 'openid profile email groups', 'oidc_login_proxy_ldap' => false, 'oidc_login_disable_registration' => false, 'oidc_login_redir_fallback' => false, 'oidc_login_tls_verify' => true, 'oidc_create_groups' => false, 'oidc_login_webdav_enabled' => false, 'oidc_login_password_authentication' => false, 'oidc_login_public_key_caching_time' => 86400, 'oidc_login_min_time_between_jwks_requests' => 10, 'oidc_login_well_known_caching_time' => 86400, 'oidc_login_update_avatar' => false, );
string
nextcloud.configs."caching.config.php" (2)
<?php $CONFIG = array ( 'memcache.local' => '\\OC\\Memcache\\APCu', 'memcache.distributed' => '\\OC\\Memcache\\Redis', 'memcache.locking' => '\\OC\\Memcache\\Redis', 'filelocking.enabled' => true, 'redis' => array( 'host' => 'dragonfly.database.svc.cluster.local', 'port' => 6379, 'timeout' => 0.0, 'password' => '', ), );
string
nextcloud.configs."redis.config.php" (2)
<?php $CONFIG = array ( 'memcache.distributed' => '\OC\Memcache\Redis', 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => array ( 'host' => getenv('REDIS_HOST'), 'port' => 6379, 'dbindex' => 4, 'password' => '', ), );
string
nextcloud.configs."timezone.config.php" (2)
<?php $CONFIG = array ( 'default_timezone' => 'America/Los_Angeles', );
string
nextcloud.configs."bulkupload.config.php" (1)
<?php $CONFIG = array ( 'bulkupload.enabled' => false, );
string
nextcloud.configs."collabora.config.php" (1)
<?php $CONFIG = array ( 'richdocuments' => array( 'wopi_url' => 'https://collabora.vzkn.eu', ), );
string
nextcloud.configs."custom.config.php" (1)
<?php $CONFIG = array ( 'overwriteprotocol' => 'https', 'overwrite.cli.url' => 'https://cloud.${SECRET_DOMAIN}', 'overewritehost' => 'cloud.${SECRET_DOMAIN}', 'filelocking.enabled' => 'true', 'default_phone_region' => 'DE', 'loglevel' => '2', 'enable_previews' => true, 'log_type' => 'syslog', 'maintenance_window_start' => 1, 'trusted_proxies' => array ( 0 => '127.0.0.1', 1 => '10.42.0.0/16', 2 => '10.43.0.0/16', ), );
string
nextcloud.configs."gitops.config.php" (1)
<?php $CONFIG = array ( 'appstoreenabled' => true, 'mail_domain' => '${SECRET_DOMAIN}', );
string
nextcloud.configs."minio.config.php" (1)
<?php $CONFIG = array ( 'objectstore' => array( 'class' => '\\OC\\Files\\ObjectStore\\S3', 'arguments' => array( 'hostname' => 's3.hoohoot.org', 'port' => 443, 'use_path_style' => true, 'bucket' => 'nextcloud-data', 'autocreate' => false, 'key' => getenv('S3_ACCESS_KEY'), 'secret' => getenv('S3_SECRET_KEY'), 'use_ssl' => true, ), ), );
string
nextcloud.configs."notify_push.config.php" (1)
<?php $CONFIG = array ( 'notify_push' => array( 'base_endpoint' => 'https://cloud.vzkn.eu/push', ), );
string
nextcloud.configs."performance.config.php" (1)
<?php $CONFIG = array ( 'enable_previews' => true, 'enabledPreviewProviders' => array( 'OC\Preview\PNG', 'OC\Preview\JPEG', 'OC\Preview\GIF', 'OC\Preview\BMP', 'OC\Preview\XBitmap', 'OC\Preview\MP3', 'OC\Preview\TXT', 'OC\Preview\MarkDown', 'OC\Preview\OpenDocument', 'OC\Preview\Krita', 'OC\Preview\HEIC', 'OC\Preview\PDF', 'OC\Preview\TIFF', 'OC\Preview\SVG', 'OC\Preview\MP4', 'OC\Preview\Movie', ), 'preview_max_x' => 2048, 'preview_max_y' => 2048, 'preview_max_scale_factor' => 1, 'preview_concurrency_new' => 4, 'preview_concurrency_all' => 4, 'jpeg_quality' => 60, );
string
nextcloud.configs."preview.config.php" (1)
<?php $CONFIG = array ( 'enabledPreviewProviders' => array( 'OC\Preview\PNG', 'OC\Preview\JPEG', 'OC\Preview\GIF', 'OC\Preview\BMP', 'OC\Preview\XBitmap', 'OC\Preview\MP3', 'OC\Preview\TXT', 'OC\Preview\MarkDown', 'OC\Preview\OpenDocument', 'OC\Preview\Krita', 'OC\Preview\HEIC', ), );
string
nextcloud.configs."talk.config.php" (1)
<?php $CONFIG = array ( 'spreed' => array( 'external_signaling' => array( 'signaling_servers' => array( array( 'url' => 'https://talk.vzkn.eu/', 'verify' => true, ), ), ), 'stun_servers' => array( 'turn.vzkn.eu:3478', 'turn.vzkn.eu:5349', ), 'turn_servers' => array( array( 'server' => 'turn.vzkn.eu', 'secret' => '', # Managed by signaling server 'protocols' => 'udp,tcp', ), ), ), );
string
string
nextcloud.extraVolumeMounts[].mountPath (9)
/usr/local/etc/php/conf.d/redis-session.ini
/tmp
string
string
string
boolean
string
number
string
string
nextcloud.extraVolumes[].nfs.server (2)
nas01.${SECRET_DOMAIN_INT}
string
string
string
string
string
number
number
boolean
number
string
boolean
nextcloud.phpConfigs."uploadLimit.ini" (6)
upload_max_filesize = 16G post_max_size = 16G max_input_time = 3600 max_execution_time = 3600
string
nextcloud.phpConfigs."www.conf" (6)
[www] user = www-data group = www-data listen = 127.0.0.1:9000 pm = dynamic pm.max_children = 57 pm.start_servers = 14 pm.min_spare_servers = 14 pm.max_spare_servers = 42 pm.max_requests = 500 pm.process_idle_timeout = 10s
string
nextcloud.phpConfigs."php.ini" (1)
max_execution_time = 600 default_socket_timeout = 300 curl.cainfo = /etc/ssl/certs/ca-certificates.crt extension=imagick extension=exif extension=intl extension=gd memory_limit = 8G opcache.memory_consumption = 512 opcache.max_accelerated_files = 20000 opcache.revalidate_freq = 60
string
nextcloud.lifecycle.postStartCommand[] (4)
- /bin/sh
- -c
- cd /var/www/html; ./occ maintenance:repair --include-expensive; ./occ db:add-missing-indices; /bin/true
string
number
boolean
boolean
boolean
string
nextcloud.extraSidecarContainers[].command[] (1)
- /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push
- /var/www/html/config/config.php
string
string
string
string
string
number
string
string
string
string
string
string
string
boolean
nextcloud.hooks.before-starting (1)
# disable unneceserry apps for appname in activity circles systemtags federation privacy \ nextcloud_announcements announcementcenter support survey_client \ user_status weather_status dashboard do php occ app:disable "$appname" done
string
nextcloud.hooks.post-installation (1)
printf "Add missing DB indices\n" php occ db:add-missing-indices
string
nextcloud.hooks.post-upgrade (1)
# based on https://github.com/nextcloud/all-in-one/blob/25c580bca370eaead5f1fad9d3842a9c49562dff/Containers/nextcloud/entrypoint.sh#L451-L457 php occ maintenance:repair --include-expensive php occ db:add-missing-indices php occ db:add-missing-columns php occ db:add-missing-primary-keys
string
boolean
string
boolean
string
nextcloud.objectStorage.s3.host (1)
minio.storage.svc.cluster.local
string
number
string
string
boolean
boolean
string
boolean
string
string
string
string
string
boolean
boolean
string
string
string
boolean
string
boolean
string
string
boolean
string
boolean
string
string
string
boolean
string
persistence.data.path (1)
/mnt/apps/kubernetes/nextcloud
string
persistence.data.server (1)
${SECRET_NFS_SERVER:=temp}
string
string
string
string
string
string
persistence.config-file.globalMounts[].path (1)
/var/www/html/config/custom.config.php
/usr/local/etc/php/conf.d/php.ini
/usr/local/etc/php-fpm.d/www.conf
/etc/apache2/conf-available/remoteip.conf
string
persistence.config-file.globalMounts[].subPath (1)
custom.config.php
php.ini
www.conf
remoteip.conf
string
string
string
string
string
string
string
string
boolean
number
number
number
number
number
boolean
string
string
string
string
nginx.config.headers.Strict-Transport-Security (2)
max-age=15552000; includeSubDomains
string
boolean
nginx.config.serverBlockCustom (1)
client_max_body_size 10G; client_body_timeout 300s; fastcgi_buffers 64 4K; fastcgi_read_timeout 3600s; # Handle forwarded headers for proper protocol detection real_ip_header X-Forwarded-For; set_real_ip_from 10.0.0.0/8; set_real_ip_from 172.16.0.0/12; set_real_ip_from 192.168.0.0/16;
string
string
string
boolean
string
ingress.annotations."nginx.ingress.kubernetes.io/server-snippet" (3)
server_tokens off; proxy_hide_header X-Powered-By; more_set_headers "Strict-Transport-Security: max-age=31536000; includeSubDomains; preload"; rewrite ^/.well-known/webfinger /public.php?service=webfinger last; rewrite ^/.well-known/host-meta /public.php?service=host-meta last; rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json; location = /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } location = /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ { deny all; } location ~ ^/(?:autotest|occ|issue|indie|db_|console) { deny all; }
string
string
string
string
string
string
string
string
string
string
string
ingress.annotations."nginx.ingress.kubernetes.io/cors-allow-headers" (1)
X-Forwarded-For, X-Real-IP, X-Frame-Options, X-Content-Type-Options, X-Forwarded-Proto
string
string
ingress.annotations."nginx.org/rewrites" (1)
/.well-known/webfinger /index.php/.well-known/webfinger; /.well-known/nodeinfo /index.php/.well-known/nodeinfo; /.well-known/host-meta /public.php?service=host-meta; /.well-known/host-meta.json /public.php?service=host-meta-json; /.well-known/carddav $scheme://$host/remote.php/dav redirect=301; /.well-known/caldav $scheme://$host/remote.php/dav redirect=301;
string
string
string
string
string
ingress.tls[].hosts[] (1)
- nc.${SECRET_DOMAIN}
string
string
boolean
boolean
number
number
string
string
string
string
cronjob.cronjob.command[] (1)
- /bin/sh
- /scripts/cron.sh
string
cronjob.cronjob.env[].name (1)
MAIL_FROM_ADDRESS
PHP_MEMORY_LIMIT
string
string
string
string
boolean
number
string
string
number
string
number
boolean
number
number
number
string
string
string
string
boolean
string
boolean
string
string
string
image.tag (5)
33.0.0-fpm-alpine
string
string
string
string
string
string
number
string
string
boolean
number
number
number
number
number
boolean
number
number
number
number
number
boolean
string
boolean
boolean
string
string
redis.host (1)
nextcloud-valkey.selfhosted.svc.cluster.local
string
number
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
boolean
boolean
number
string
number
string
string
number
number
number
boolean
boolean
number
string
number
string
string
number
number
number
boolean
number
number
string
number
number
number
boolean
string
string
string
boolean
string
boolean
string
controllers.nextcloud.initContainers.copy-config.command[] (1)
- sh
- -c
- cp -r /usr/src/nextcloud/config/*.php /var/www/html/config/
string
string
controllers.nextcloud.initContainers.copy-config.image.tag (1)
33.0.0@sha256:ff2cbaab14c85e587b5541e3aff4216a8a484e06424ebae661581937c0c8da0c
string
boolean
string
boolean
string
string
string
string
number
string
number
boolean
number
boolean
boolean
string
string
string
string
string
string
string
route.app.annotations."gethomepage.dev/widget.password" (1)
{{`{{HOMEPAGE_VAR_NEXTCLOUD_PASSWORD}}`}}
string
string
route.app.annotations."gethomepage.dev/widget.url" (1)
http://nextcloud.productivity.svc.cluster.local:80
string
route.app.annotations."gethomepage.dev/widget.username" (1)
{{`{{HOMEPAGE_VAR_NEXTCLOUD_USERNAME}}`}}
string
route.app.hostnames[] (2)
- nextcloud.${SECRET_DOMAIN}
string
string
string
string
string
number
string
route.app.rules[].filters[].responseHeaderModifier.add[].value (1)
max-age=31536000; includeSubDomains; preload
string
string
string
number
string
string
string
string
number
configMaps.config.data."custom.config.php" (1)
<?php $CONFIG = array( 'overwriteprotocol' => 'https', 'overwrite.cli.url' => 'https://storage.hyde.services', 'overwritehost' => 'storage.hyde.services', 'check_data_directory_permissions' => false, 'default_phone_region' => 'AU', 'trusted_proxies' => array( 0 => '127.0.0.1', 1 => '10.42.0.0/16', ), 'trusted_domains' => array( 0 => '127.0.0.1', 1 => 'storage.hyde.services', ), 'simpleSignUpLink.shown' => false, 'cache_path' => '/cache', 'forwarded_for_headers' => array('X-Forwarded-For'), 'maintenance_window_start' => 100, 'memcache.distributed' => '\OC\Memcache\Redis', 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => array( 'host' => 'dragonfly.databases.svc.cluster.local', 'port' => 6379, 'dbindex' => 1, ), );
string
configMaps.config.data."php.ini" (1)
session.save_handler = redis session.save_path = "tcp://dragonfly.databases.svc.cluster.local:6379/1" redis.session.locking_enabled = 1 redis.session.lock_retries = -1 redis.session.lock_wait_time = 10000 upload_max_filesize = 16G post_max_size = 16G memory_limit = 512M max_execution_time = 3600
string
configMaps.config.data."remoteip.conf" (1)
RemoteIPHeader X-Forwarded-For RemoteIPInternalProxy 10.42.0.0/16
string
configMaps.config.data."www.conf" (1)
[www] listen = 127.0.0.1:9000 pm = dynamic pm.max_children = 50 pm.start_servers = 12 pm.min_spare_servers = 6 pm.max_spare_servers = 18
string
string
string
extraManifests[] (1)
- apiVersion: v1 kind: Service metadata: name: nextcloud-push labels: app.kubernetes.io/name: {{ include "nextcloud.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} spec: type: ClusterIP ports: - name: push port: 7867 targetPort: 7867 protocol: TCP selector: app.kubernetes.io/name: {{ include "nextcloud.name" . }} app.kubernetes.io/instance: {{ .Release.Name }}
- apiVersion: v1 kind: ConfigMap metadata: name: nextcloud-hooks data: sync-db-password.sh: | #!/bin/sh set -e CONFIG_FILE="/var/www/html/config/config.php" if [ -f "$CONFIG_FILE" ] && [ -n "$POSTGRES_PASSWORD" ]; then echo "=> Syncing database password from secret to config.php" # Use PHP to safely update the password php -r " \$config = file_get_contents('$CONFIG_FILE'); \$config = preg_replace( \"/'dbpassword'\\s*=>\\s*'[^']*'/\", \"'dbpassword' => '\" . getenv('POSTGRES_PASSWORD') . \"'\", \$config ); file_put_contents('$CONFIG_FILE', \$config); " echo "=> Database password synced successfully" fi
string
string
boolean
string
httpRoute.apiVersion (1)
gateway.networking.k8s.io/v1
string
boolean
httpRoute.hostnames[] (1)
- nextcloud.${SECRET_DOMAIN}
string
string
string
string
httpRoute.rules[].backendRefs[].name (1)
notify-push
nextcloud
nextcloud
nextcloud
nextcloud
nextcloud
nextcloud
nextcloud
string
httpRoute.rules[].backendRefs[].port (1)
7867
8080
8080
8080
8080
8080
8080
8080
number
httpRoute.rules[].filters[].type (1)
URLRewrite
URLRewrite
URLRewrite
URLRewrite
URLRewrite
URLRewrite
string
httpRoute.rules[].filters[].urlRewrite.path.replaceFullPath (1)
/public.php?service=host-meta
/public.php?service=host-meta-json
string
httpRoute.rules[].filters[].urlRewrite.path.replacePrefixMatch (1)
/index.php/.well-known/webfinger
/index.php/.well-known/nodeinfo
/remote.php/dav
/remote.php/dav
string
httpRoute.rules[].filters[].urlRewrite.path.type (1)
ReplacePrefixMatch
ReplacePrefixMatch
ReplaceFullPath
ReplaceFullPath
ReplacePrefixMatch
ReplacePrefixMatch
string
httpRoute.rules[].matches[].path.type (1)
PathPrefix
PathPrefix
PathPrefix
PathPrefix
Exact
Exact
PathPrefix
PathPrefix
PathPrefix
PathPrefix
PathPrefix
PathPrefix
PathPrefix
PathPrefix
PathPrefix
PathPrefix
PathPrefix
PathPrefix
PathPrefix
PathPrefix
PathPrefix
string
httpRoute.rules[].matches[].path.value (1)
/push/
/
/.well-known/webfinger
/.well-known/nodeinfo
/.well-known/host-meta
/.well-known/host-meta.json
/.well-known/caldav
/.well-known/carddav
/build
/tests
/config
/lib
/3rdparty
/templates
/data
/autotest
/occ
/issue
/indie
/db_
/console
string
lifecycle.postStartCommand[] (1)
- /bin/bash
- /scripts/post-start.sh
string
string