| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564 | 
							- # helm repo add nextcloud https://nextcloud.github.io/helm/
 
- # helm upgrade --install nextcloud nextcloud/nextcloud -n nextcloud -f values.yaml --version 3.5.14
 
- # Upgrading:
 
- # su -s /bin/bash - www-data
 
- # cd /var/www/html
 
- # PHP_MEMORY_LIMIT=512M ./occ upgrade
 
- # Forwarding IPs requires:
 
- #
 
- #  'trusted_proxies' =>
 
- #  array (
 
- #    0 => '10.42.0.0/16',
 
- #    1 => '127.0.0.1',
 
- #  ),
 
- #  'overwritecondaddr' => '^10\.42\.[0-9]+\.[0-9]+$',
 
- #
 
- # For whatever your ingress is.
 
- ## Official nextcloud image version
 
- ## ref: https://hub.docker.com/r/library/nextcloud/tags/
 
- ##
 
- image:
 
-   repository: nextcloud
 
-   tag: 26.0.6-apache
 
-   pullPolicy: IfNotPresent
 
-   # pullSecrets:
 
-   #   - myRegistrKeySecretName
 
- nameOverride: ""
 
- fullnameOverride: ""
 
- podAnnotations: {}
 
- deploymentAnnotations: {}
 
- deploymentLabels: {}
 
- # Number of replicas to be deployed
 
- replicaCount: 1
 
- ## Allowing use of ingress controllers
 
- ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
 
- ##
 
- ingress:
 
-   enabled: false
 
-   # className: nginx
 
-   annotations: {}
 
-   #  nginx.ingress.kubernetes.io/proxy-body-size: 4G
 
-   #  kubernetes.io/tls-acme: "true"
 
-   #  cert-manager.io/cluster-issuer: letsencrypt-prod
 
-   #  nginx.ingress.kubernetes.io/server-snippet: |-
 
-   #    server_tokens off;
 
-   #    proxy_hide_header X-Powered-By;
 
-   #    rewrite ^/.well-known/webfinger /index.php/.well-known/webfinger last;
 
-   #    rewrite ^/.well-known/nodeinfo /index.php/.well-known/nodeinfo 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;
 
-   #    }
 
-   # tls:
 
-   #   - secretName: nextcloud-tls
 
-   #     hosts:
 
-   #       - nextcloud.kube.home
 
-   labels: {}
 
-   path: /
 
-   pathType: Prefix
 
- # Allow configuration of lifecycle hooks
 
- # ref: https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/
 
- lifecycle: {}
 
-   # postStartCommand: []
 
-   # preStopCommand: []
 
- phpClientHttpsFix:
 
-   enabled: false
 
-   protocol: https
 
- nextcloud:
 
-   host: nextcloud.jibby.org
 
-   username: josh
 
-   password: ""
 
-   ## Use an existing secret
 
-   existingSecret:
 
-     enabled: false
 
-     # secretName: nameofsecret
 
-     # usernameKey: nextcloud-username
 
-     # passwordKey: nextcloud-password
 
-     # tokenKey: nextcloud-token
 
-     # smtpUsernameKey: smtp-username
 
-     # smtpPasswordKey: smtp-password
 
-   update: 0
 
-   # If web server is not binding default port, you can define it
 
-   containerPort: 80
 
-   datadir: /var/www/html/data
 
-   persistence:
 
-     subPath:
 
-   mail:
 
-     enabled: false
 
-     fromAddress: user
 
-     domain: domain.com
 
-     smtp:
 
-       host: domain.com
 
-       secure: ssl
 
-       port: 465
 
-       authtype: LOGIN
 
-       name: user
 
-       password: pass
 
-   # PHP Configuration files
 
-   # Will be injected in /usr/local/etc/php/conf.d for apache image and in /usr/local/etc/php-fpm.d when nginx.enabled: true
 
-   phpConfigs: {}
 
-   # Default config files
 
-   # IMPORTANT: Will be used only if you put extra configs, otherwise default will come from nextcloud itself
 
-   # Default confgurations can be found here: https://github.com/nextcloud/docker/tree/master/16.0/apache/config
 
-   defaultConfigs:
 
-     # To protect /var/www/html/config
 
-     .htaccess: true
 
-     # Redis default configuration
 
-     redis.config.php: true
 
-     # Apache configuration for rewrite urls
 
-     apache-pretty-urls.config.php: true
 
-     # Define APCu as local cache
 
-     apcu.config.php: true
 
-     # Apps directory configs
 
-     apps.config.php: true
 
-     # Used for auto configure database
 
-     autoconfig.php: true
 
-     # SMTP default configuration
 
-     smtp.config.php: true
 
-   # Extra config files created in /var/www/html/config/
 
-   # ref: https://docs.nextcloud.com/server/15/admin_manual/configuration_server/config_sample_php_parameters.html#multiple-config-php-file
 
-   configs: {}
 
-   # For example, to use S3 as primary storage
 
-   # ref: https://docs.nextcloud.com/server/13/admin_manual/configuration_files/primary_storage.html#simple-storage-service-s3
 
-   #
 
-   #  configs:
 
-   #    s3.config.php: |-
 
-   #      <?php
 
-   #      $CONFIG = array (
 
-   #        'objectstore' => array(
 
-   #          'class' => '\\OC\\Files\\ObjectStore\\S3',
 
-   #          'arguments' => array(
 
-   #            'bucket'     => 'my-bucket',
 
-   #            'autocreate' => true,
 
-   #            'key'        => 'xxx',
 
-   #            'secret'     => 'xxx',
 
-   #            'region'     => 'us-east-1',
 
-   #            'use_ssl'    => true
 
-   #          )
 
-   #        )
 
-   #      );
 
-   ## Strategy used to replace old pods
 
-   ## IMPORTANT: use with care, it is suggested to leave as that for upgrade purposes
 
-   ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
 
-   strategy:
 
-     type: Recreate
 
-     # type: RollingUpdate
 
-     # rollingUpdate:
 
-     #   maxSurge: 1
 
-     #   maxUnavailable: 0
 
-   ##
 
-   ## Extra environment variables
 
-   extraEnv:
 
-     - name: REDIS_HOST
 
-       valueFrom:
 
-         secretKeyRef:
 
-           name: redis-client-secret
 
-           key: REDIS_HOST
 
-     - name: REDIS_HOST_PASSWORD
 
-       valueFrom:
 
-         secretKeyRef:
 
-           name: redis-client-secret
 
-           key: REDIS_HOST_PASSWORD
 
-   # Extra init containers that runs before pods start.
 
-   extraInitContainers: []
 
-   #  - name: do-something
 
-   #    image: busybox
 
-   #    command: ['do', 'something']
 
-   # Extra sidecar containers.
 
-   extraSidecarContainers: []
 
-   #  - name: nextcloud-logger
 
-   #    image: busybox
 
-   #    command: [/bin/sh, -c, 'while ! test -f "/run/nextcloud/data/nextcloud.log"; do sleep 1; done; tail -n+1 -f /run/nextcloud/data/nextcloud.log']
 
-   #    volumeMounts:
 
-   #    - name: nextcloud-data
 
-   #      mountPath: /run/nextcloud/data
 
-   # Extra mounts for the pods. Example shown is for connecting a legacy NFS volume
 
-   # to NextCloud pods in Kubernetes. This can then be configured in External Storage
 
-   extraVolumes:
 
-   #  - name: nfs
 
-   #    nfs:
 
-   #      server: "10.0.0.1"
 
-   #      path: "/nextcloud_data"
 
-   #      readOnly: false
 
-   extraVolumeMounts:
 
-   #  - name: nfs
 
-   #    mountPath: "/legacy_data"
 
-   # Set securityContext parameters for the nextcloud CONTAINER only (will not affect nginx container).
 
-   # For example, you may need to define runAsNonRoot directive
 
-   securityContext: {}
 
-   #   runAsUser: 33
 
-   #   runAsGroup: 33
 
-   #   runAsNonRoot: true
 
-   #   readOnlyRootFilesystem: false
 
-   # Set securityContext parameters for the entire pod. For example, you may need to define runAsNonRoot directive
 
-   podSecurityContext: {}
 
-   #   runAsUser: 33
 
-   #   runAsGroup: 33
 
-   #   runAsNonRoot: true
 
-   #   readOnlyRootFilesystem: false
 
- nginx:
 
-   ## You need to set an fpm version of the image for nextcloud if you want to use nginx!
 
-   enabled: false
 
-   image:
 
-     repository: nginx
 
-     tag: alpine
 
-     pullPolicy: IfNotPresent
 
-   config:
 
-     # This generates the default nginx config as per the nextcloud documentation
 
-     default: true
 
-     # custom: |-
 
-     #     worker_processes  1;..
 
-   resources: {}
 
-   # Set nginx container securityContext parameters. For example, you may need to define runAsNonRoot directive
 
-   securityContext: {}
 
-   # the nginx alpine container default user is 82
 
-   #   runAsUser: 82
 
-   #   runAsGroup: 33
 
-   #   runAsNonRoot: true
 
-   #   readOnlyRootFilesystem: true
 
- internalDatabase:
 
-   enabled: false
 
-   name: nextcloud
 
- externalDatabase:
 
-   enabled: true
 
-   ## Supported database engines: mysql or postgresql
 
-   type: postgresql
 
-   ## Database host
 
-   host: postgres-postgresql.postgres.svc.cluster.local:5432
 
-   ## Database user
 
-   user: nextcloud
 
-   ## Database password
 
-   password:
 
-   ## Database name
 
-   database: nextcloud
 
-   ## Use a existing secret
 
-   existingSecret:
 
-     enabled: true
 
-     secretName: postgres-secret
 
-     usernameKey: username
 
-     passwordKey: password
 
- ##
 
- ## MariaDB chart configuration
 
- ## ref: https://github.com/bitnami/charts/tree/main/bitnami/mariadb
 
- ##
 
- mariadb:
 
-   ## Whether to deploy a mariadb server from the bitnami mariab db helm chart
 
-   # to satisfy the applications database requirements. if you want to deploy this bitnami mariadb, set this and externalDatabase to true
 
-   # To use an ALREADY DEPLOYED mariadb database, set this to false and configure the externalDatabase parameters
 
-   enabled: false
 
-   auth:
 
-     database: nextcloud
 
-     username: nextcloud
 
-     password: changeme
 
-     # Use existing secret (auth.rootPassword, auth.password, and auth.replicationPassword will be ignored).
 
-     # secret must contain the keys mariadb-root-password, mariadb-replication-password and mariadb-password
 
-     existingSecret: ""
 
-   architecture: standalone
 
-   ## Enable persistence using Persistent Volume Claims
 
-   ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
 
-   ##
 
-   primary:
 
-     persistence:
 
-       enabled: false
 
-       # Use an existing Persistent Volume Claim (must be created ahead of time)
 
-       # existingClaim: ""
 
-       # storageClass: ""
 
-       accessMode: ReadWriteOnce
 
-       size: 8Gi
 
- ##
 
- ## PostgreSQL chart configuration
 
- ## for more options see https://github.com/bitnami/charts/tree/main/bitnami/postgresql
 
- ##
 
- postgresql:
 
-   enabled: false
 
-   global:
 
-     postgresql:
 
-       # global.postgresql.auth overrides postgresql.auth
 
-       auth:
 
-         username: nextcloud
 
-         password: changeme
 
-         database: nextcloud
 
-         # Name of existing secret to use for PostgreSQL credentials.
 
-         # auth.postgresPassword, auth.password, and auth.replicationPassword will be ignored and picked up from this secret.
 
-         # secret might also contains the key ldap-password if LDAP is enabled.
 
-         # ldap.bind_password will be ignored and picked from this secret in this case.
 
-         existingSecret: ""
 
-         # Names of keys in existing secret to use for PostgreSQL credentials
 
-         secretKeys:
 
-           adminPasswordKey: ""
 
-           userPasswordKey: ""
 
-           replicationPasswordKey: ""
 
-   primary:
 
-     persistence:
 
-       enabled: false
 
-       # Use an existing Persistent Volume Claim (must be created ahead of time)
 
-       # existingClaim: ""
 
-       # storageClass: ""
 
- ##
 
- ## Redis chart configuration
 
- ## for more options see https://github.com/bitnami/charts/tree/main/bitnami/redis
 
- ##
 
- redis:
 
-   enabled: false
 
-   auth:
 
-     enabled: true
 
-     password: 'changeme'
 
-     # name of an existing secret with Redis® credentials (instead of auth.password), must be created ahead of time
 
-     existingSecret: ""
 
-     # Password key to be retrieved from existing secret
 
-     existingSecretPasswordKey: ""
 
- ## Cronjob to execute Nextcloud background tasks
 
- ## ref: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/background_jobs_configuration.html#cron
 
- ##
 
- cronjob:
 
-   enabled: true
 
-   ## Cronjob sidecar resource requests and limits
 
-   ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
 
-   ##
 
-   resources: {}
 
-   # Allow configuration of lifecycle hooks
 
-   # ref: https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/
 
-   lifecycle: {}
 
-     # postStartCommand: []
 
-     # preStopCommand: []
 
-   # Set securityContext parameters. For example, you may need to define runAsNonRoot directive
 
-   securityContext: {}
 
-   #   runAsUser: 33
 
-   #   runAsGroup: 33
 
-   #   runAsNonRoot: true
 
-   #   readOnlyRootFilesystem: true
 
- service:
 
-   type: ClusterIP
 
-   port: 8080
 
-   loadBalancerIP: nil
 
-   nodePort: nil
 
- ## Enable persistence using Persistent Volume Claims
 
- ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
 
- ##
 
- persistence:
 
-   # Nextcloud Data (/var/www/html)
 
-   enabled: true
 
-   annotations: {}
 
-   ## nextcloud data Persistent Volume Storage Class
 
-   ## If defined, storageClassName: <storageClass>
 
-   ## If set to "-", storageClassName: "", which disables dynamic provisioning
 
-   ## If undefined (the default) or set to null, no storageClassName spec is
 
-   ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
 
-   ##   GKE, AWS & OpenStack)
 
-   ##
 
-   storageClass: "ceph-block"
 
-   ## A manually managed Persistent Volume and Claim
 
-   ## Requires persistence.enabled: true
 
-   ## If defined, PVC must be created manually before volume will be bound
 
-   existingClaim: nextcloud-pvc
 
-   accessMode: ReadWriteOnce
 
-   size: 8Gi
 
-   ## Use an additional pvc for the data directory rather than a subpath of the default PVC
 
-   ## Useful to store data on a different storageClass (e.g. on slower disks)
 
-   nextcloudData:
 
-     enabled: true
 
-     subPath:
 
-     annotations: {}
 
-     storageClass: "ceph-block"
 
-     existingClaim: nextcloud-data-pvc
 
-     accessMode: ReadWriteOnce
 
-     size: 200Gi
 
- resources: {}
 
-   # We usually recommend not to specify default resources and to leave this as a conscious
 
-   # choice for the user. This also increases chances charts run on environments with little
 
-   # resources, such as Minikube. If you do want to specify resources, uncomment the following
 
-   # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
 
-   # limits:
 
-   #  cpu: 100m
 
-   #  memory: 128Mi
 
-   # requests:
 
-   #  cpu: 100m
 
-   #  memory: 128Mi
 
- ## Liveness and readiness probe values
 
- ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
 
- ##
 
- livenessProbe:
 
-   enabled: false
 
-   initialDelaySeconds: 10
 
-   periodSeconds: 10
 
-   timeoutSeconds: 5
 
-   failureThreshold: 3
 
-   successThreshold: 1
 
- readinessProbe:
 
-   enabled: false
 
-   initialDelaySeconds: 10
 
-   periodSeconds: 10
 
-   timeoutSeconds: 5
 
-   failureThreshold: 3
 
-   successThreshold: 1
 
- startupProbe:
 
-   enabled: false
 
-   initialDelaySeconds: 30
 
-   periodSeconds: 10
 
-   timeoutSeconds: 5
 
-   failureThreshold: 30
 
-   successThreshold: 1
 
- ## Enable pod autoscaling using HorizontalPodAutoscaler
 
- ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
 
- ##
 
- hpa:
 
-   enabled: false
 
-   cputhreshold: 60
 
-   minPods: 1
 
-   maxPods: 10
 
- nodeSelector: {}
 
- tolerations: []
 
- affinity: {}
 
- ## Prometheus Exporter / Metrics
 
- ##
 
- metrics:
 
-   enabled: false
 
-   replicaCount: 1
 
-   # The metrics exporter needs to know how you serve Nextcloud either http or https
 
-   https: false
 
-   # Use API token if set, otherwise fall back to password authentication
 
-   # https://github.com/xperimental/nextcloud-exporter#token-authentication
 
-   # Currently you still need to set the token manually in your nextcloud install
 
-   token: ""
 
-   timeout: 5s
 
-   # if set to true, exporter skips certificate verification of Nextcloud server.
 
-   tlsSkipVerify: false
 
-   image:
 
-     repository: xperimental/nextcloud-exporter
 
-     tag: 0.6.0
 
-     pullPolicy: IfNotPresent
 
-     # pullSecrets:
 
-     #   - myRegistrKeySecretName
 
-   ## Metrics exporter resource requests and limits
 
-   ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
 
-   ##
 
-   # resources: {}
 
-   ## Metrics exporter pod Annotation and Labels
 
-   # podAnnotations: {}
 
-   # podLabels: {}
 
-   service:
 
-     type: ClusterIP
 
-     ## Use serviceLoadBalancerIP to request a specific static IP,
 
-     ## otherwise leave blank
 
-     # loadBalancerIP:
 
-     annotations:
 
-       prometheus.io/scrape: "true"
 
-       prometheus.io/port: "9205"
 
-     labels: {}
 
-   ## Prometheus Operator ServiceMonitor configuration
 
-   ##
 
-   serviceMonitor:
 
-     ## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using PrometheusOperator
 
-     ##
 
-     enabled: false
 
-     ## @param metrics.serviceMonitor.namespace Namespace in which Prometheus is running
 
-     ##
 
-     namespace: ""
 
-     ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
 
-     ##
 
-     jobLabel: ""
 
-     ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped
 
-     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
 
-     ##
 
-     interval: 30s
 
-     ## @param metrics.serviceMonitor.scrapeTimeout Specify the timeout after which the scrape is ended
 
-     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
 
-     ##
 
-     scrapeTimeout: ""
 
-     ## @param metrics.serviceMonitor.labels Extra labels for the ServiceMonitor
 
-     ##
 
-     labels: {}
 
- rbac:
 
-   enabled: false
 
-   serviceaccount:
 
-     create: true
 
-     name: nextcloud-serviceaccount
 
-     annotations: {}
 
- ## @param securityContext for nextcloud pod @deprecated Use `nextcloud.podSecurityContext` instead
 
- securityContext: {}
 
 
  |