values.yaml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480
  1. # helm repo add nextcloud https://nextcloud.github.io/helm/
  2. # helm upgrade --install nextcloud nextcloud/nextcloud -n nextcloud -f values.yaml --version 2.14.4
  3. ## Official nextcloud image version
  4. ## ref: https://hub.docker.com/r/library/nextcloud/tags/
  5. ##
  6. image:
  7. repository: nextcloud
  8. tag: 24.0.1-apache
  9. pullPolicy: IfNotPresent
  10. # pullSecrets:
  11. # - myRegistrKeySecretName
  12. nameOverride: ""
  13. fullnameOverride: ""
  14. podAnnotations: {}
  15. deploymentAnnotations: {}
  16. # Number of replicas to be deployed
  17. replicaCount: 1
  18. ## Allowing use of ingress controllers
  19. ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
  20. ##
  21. ingress:
  22. enabled: false
  23. # className: nginx
  24. annotations: {}
  25. # nginx.ingress.kubernetes.io/proxy-body-size: 4G
  26. # kubernetes.io/tls-acme: "true"
  27. # cert-manager.io/cluster-issuer: letsencrypt-prod
  28. # nginx.ingress.kubernetes.io/server-snippet: |-
  29. # server_tokens off;
  30. # proxy_hide_header X-Powered-By;
  31. # rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
  32. # rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
  33. # rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json;
  34. # location = /.well-known/carddav {
  35. # return 301 $scheme://$host/remote.php/dav;
  36. # }
  37. # location = /.well-known/caldav {
  38. # return 301 $scheme://$host/remote.php/dav;
  39. # }
  40. # location = /robots.txt {
  41. # allow all;
  42. # log_not_found off;
  43. # access_log off;
  44. # }
  45. # location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
  46. # deny all;
  47. # }
  48. # location ~ ^/(?:autotest|occ|issue|indie|db_|console) {
  49. # deny all;
  50. # }
  51. # tls:
  52. # - secretName: nextcloud-tls
  53. # hosts:
  54. # - nextcloud.kube.home
  55. labels: {}
  56. path: /
  57. pathType: Prefix
  58. # Allow configuration of lifecycle hooks
  59. # ref: https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/
  60. lifecycle: {}
  61. # postStartCommand: []
  62. # preStopCommand: []
  63. phpClientHttpsFix:
  64. enabled: true
  65. protocol: https
  66. nextcloud:
  67. host: nextcloud.jibby.org
  68. username: josh
  69. password: ""
  70. ## Use an existing secret
  71. existingSecret:
  72. enabled: false
  73. # secretName: nameofsecret
  74. # usernameKey: username
  75. # passwordKey: password
  76. # tokenKey: serverinfo_token
  77. # smtpUsernameKey: smtp_username
  78. # smtpPasswordKey: smtp_password
  79. update: 0
  80. # If web server is not binding default port, you can define it
  81. # containerPort: 8080
  82. datadir: /var/www/html/data
  83. persistence:
  84. subPath:
  85. mail:
  86. enabled: false
  87. fromAddress: user
  88. domain: domain.com
  89. smtp:
  90. host: domain.com
  91. secure: ssl
  92. port: 465
  93. authtype: LOGIN
  94. name: user
  95. password: pass
  96. # PHP Configuration files
  97. # 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
  98. phpConfigs: {}
  99. # Default config files
  100. # IMPORTANT: Will be used only if you put extra configs, otherwise default will come from nextcloud itself
  101. # Default confgurations can be found here: https://github.com/nextcloud/docker/tree/master/16.0/apache/config
  102. defaultConfigs:
  103. # To protect /var/www/html/config
  104. .htaccess: true
  105. # Redis default configuration
  106. redis.config.php: true
  107. # Apache configuration for rewrite urls
  108. apache-pretty-urls.config.php: true
  109. # Define APCu as local cache
  110. apcu.config.php: true
  111. # Apps directory configs
  112. apps.config.php: true
  113. # Used for auto configure database
  114. autoconfig.php: true
  115. # SMTP default configuration
  116. smtp.config.php: true
  117. # Extra config files created in /var/www/html/config/
  118. # ref: https://docs.nextcloud.com/server/15/admin_manual/configuration_server/config_sample_php_parameters.html#multiple-config-php-file
  119. configs: {}
  120. # For example, to use S3 as primary storage
  121. # ref: https://docs.nextcloud.com/server/13/admin_manual/configuration_files/primary_storage.html#simple-storage-service-s3
  122. #
  123. # configs:
  124. # s3.config.php: |-
  125. # <?php
  126. # $CONFIG = array (
  127. # 'objectstore' => array(
  128. # 'class' => '\\OC\\Files\\ObjectStore\\S3',
  129. # 'arguments' => array(
  130. # 'bucket' => 'my-bucket',
  131. # 'autocreate' => true,
  132. # 'key' => 'xxx',
  133. # 'secret' => 'xxx',
  134. # 'region' => 'us-east-1',
  135. # 'use_ssl' => true
  136. # )
  137. # )
  138. # );
  139. ## Strategy used to replace old pods
  140. ## IMPORTANT: use with care, it is suggested to leave as that for upgrade purposes
  141. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
  142. strategy:
  143. type: Recreate
  144. # type: RollingUpdate
  145. # rollingUpdate:
  146. # maxSurge: 1
  147. # maxUnavailable: 0
  148. ##
  149. ## Extra environment variables
  150. extraEnv:
  151. - name: REDIS_HOST
  152. valueFrom:
  153. secretKeyRef:
  154. name: redis-client-secret
  155. key: REDIS_HOST
  156. - name: REDIS_HOST_PASSWORD
  157. valueFrom:
  158. secretKeyRef:
  159. name: redis-client-secret
  160. key: REDIS_HOST_PASSWORD
  161. # Extra init containers that runs before pods start.
  162. extraInitContainers: []
  163. # - name: do-something
  164. # image: busybox
  165. # command: ['do', 'something']
  166. # Extra mounts for the pods. Example shown is for connecting a legacy NFS volume
  167. # to NextCloud pods in Kubernetes. This can then be configured in External Storage
  168. extraVolumes:
  169. # - name: nfs
  170. # nfs:
  171. # server: "10.0.0.1"
  172. # path: "/nextcloud_data"
  173. # readOnly: false
  174. extraVolumeMounts:
  175. # - name: nfs
  176. # mountPath: "/legacy_data"
  177. # Extra secuurityContext parameters. For example you may need to define runAsNonRoot directive
  178. # extraSecurityContext:
  179. # runAsUser: "33"
  180. # runAsGroup: "33"
  181. # runAsNonRoot: true
  182. # readOnlyRootFilesystem: true
  183. nginx:
  184. ## You need to set an fpm version of the image for nextcloud if you want to use nginx!
  185. enabled: false
  186. image:
  187. repository: nginx
  188. tag: alpine
  189. pullPolicy: IfNotPresent
  190. config:
  191. # This generates the default nginx config as per the nextcloud documentation
  192. default: true
  193. # custom: |-
  194. # worker_processes 1;..
  195. resources: {}
  196. internalDatabase:
  197. enabled: false
  198. name: nextcloud
  199. ##
  200. ## External database configuration
  201. ##
  202. externalDatabase:
  203. enabled: true
  204. ## Supported database engines: mysql or postgresql
  205. type: postgresql
  206. ## Database host
  207. host: postgres-postgresql.postgres.svc.cluster.local:5432
  208. ## Database user
  209. user: nextcloud
  210. ## Database password
  211. password:
  212. ## Database name
  213. database: nextcloud
  214. ## Use a existing secret
  215. existingSecret:
  216. enabled: true
  217. secretName: postgres-secret
  218. usernameKey: username
  219. passwordKey: password
  220. ##
  221. ## MariaDB chart configuration
  222. ##
  223. mariadb:
  224. ## Whether to deploy a mariadb server to satisfy the applications database requirements. To use an external database set this to false and configure the externalDatabase parameters
  225. enabled: false
  226. auth:
  227. database: nextcloud
  228. username: nextcloud
  229. password: changeme
  230. architecture: standalone
  231. ## Enable persistence using Persistent Volume Claims
  232. ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
  233. ##
  234. primary:
  235. persistence:
  236. enabled: false
  237. # storageClass: ""
  238. accessMode: ReadWriteOnce
  239. size: 8Gi
  240. ##
  241. ## PostgreSQL chart configuration
  242. ## for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql
  243. ##
  244. postgresql:
  245. enabled: false
  246. global:
  247. postgresql:
  248. auth:
  249. username: nextcloud
  250. password: changeme
  251. database: nextcloud
  252. primary:
  253. persistence:
  254. enabled: false
  255. # storageClass: ""
  256. ##
  257. ## Redis chart configuration
  258. ## for more options see https://github.com/bitnami/charts/tree/master/bitnami/redis
  259. ##
  260. redis:
  261. enabled: false
  262. auth:
  263. enabled: true
  264. password: 'changeme'
  265. ## Cronjob to execute Nextcloud background tasks
  266. ## ref: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/background_jobs_configuration.html#webcron
  267. ##
  268. cronjob:
  269. enabled: true
  270. # Nexcloud image is used as default but only curl is needed
  271. image: {}
  272. # repository: nextcloud
  273. # tag: 16.0.3-apache
  274. # pullPolicy: IfNotPresent
  275. # pullSecrets:
  276. # - myRegistrKeySecretName
  277. # Every 5 minutes
  278. # Note: Setting this to any any other value than 5 minutes might
  279. # cause issues with how nextcloud background jobs are executed
  280. schedule: "*/5 * * * *"
  281. annotations: {}
  282. # Set curl's insecure option if you use e.g. self-signed certificates
  283. curlInsecure: false
  284. failedJobsHistoryLimit: 5
  285. successfulJobsHistoryLimit: 2
  286. # If not set, nextcloud deployment one will be set
  287. # resources:
  288. # We usually recommend not to specify default resources and to leave this as a conscious
  289. # choice for the user. This also increases chances charts run on environments with little
  290. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  291. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  292. # limits:
  293. # cpu: 100m
  294. # memory: 128Mi
  295. # requests:
  296. # cpu: 100m
  297. # memory: 128Mi
  298. # If not set, nextcloud deployment one will be set
  299. # nodeSelector: {}
  300. # If not set, nextcloud deployment one will be set
  301. # tolerations: []
  302. # If not set, nextcloud deployment one will be set
  303. # affinity: {}
  304. service:
  305. type: ClusterIP
  306. port: 8080
  307. loadBalancerIP: nil
  308. nodePort: nil
  309. ## Enable persistence using Persistent Volume Claims
  310. ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
  311. ##
  312. persistence:
  313. # Nextcloud Data (/var/www/html)
  314. enabled: true
  315. annotations: {}
  316. ## nextcloud data Persistent Volume Storage Class
  317. ## If defined, storageClassName: <storageClass>
  318. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  319. ## If undefined (the default) or set to null, no storageClassName spec is
  320. ## set, choosing the default provisioner. (gp2 on AWS, standard on
  321. ## GKE, AWS & OpenStack)
  322. ##
  323. storageClass: "ceph-block"
  324. ## A manually managed Persistent Volume and Claim
  325. ## Requires persistence.enabled: true
  326. ## If defined, PVC must be created manually before volume will be bound
  327. existingClaim: nextcloud-pvc
  328. accessMode: ReadWriteOnce
  329. size: 8Gi
  330. ## Use an additional pvc for the data directory rather than a subpath of the default PVC
  331. ## Useful to store data on a different storageClass (e.g. on slower disks)
  332. nextcloudData:
  333. enabled: true
  334. subPath:
  335. annotations: {}
  336. storageClass: "ceph-block"
  337. existingClaim: nextcloud-data-pvc
  338. accessMode: ReadWriteOnce
  339. size: 200Gi
  340. resources: {}
  341. # We usually recommend not to specify default resources and to leave this as a conscious
  342. # choice for the user. This also increases chances charts run on environments with little
  343. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  344. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  345. # limits:
  346. # cpu: 100m
  347. # memory: 128Mi
  348. # requests:
  349. # cpu: 100m
  350. # memory: 128Mi
  351. ## Liveness and readiness probe values
  352. ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
  353. ##
  354. livenessProbe:
  355. enabled: true
  356. initialDelaySeconds: 10
  357. periodSeconds: 10
  358. timeoutSeconds: 5
  359. failureThreshold: 3
  360. successThreshold: 1
  361. readinessProbe:
  362. enabled: true
  363. initialDelaySeconds: 10
  364. periodSeconds: 10
  365. timeoutSeconds: 5
  366. failureThreshold: 3
  367. successThreshold: 1
  368. startupProbe:
  369. enabled: false
  370. initialDelaySeconds: 30
  371. periodSeconds: 10
  372. timeoutSeconds: 5
  373. failureThreshold: 30
  374. successThreshold: 1
  375. ## Enable pod autoscaling using HorizontalPodAutoscaler
  376. ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
  377. ##
  378. hpa:
  379. enabled: false
  380. cputhreshold: 60
  381. minPods: 1
  382. maxPods: 10
  383. nodeSelector: {}
  384. tolerations: []
  385. affinity: {}
  386. ## Prometheus Exporter / Metrics
  387. ##
  388. metrics:
  389. enabled: false
  390. replicaCount: 1
  391. # The metrics exporter needs to know how you serve Nextcloud either http or https
  392. https: false
  393. # Use API token if set, otherwise fall back to password authentication
  394. # https://github.com/xperimental/nextcloud-exporter#token-authentication
  395. # Currently you still need to set the token manually in your nextcloud install
  396. token: ""
  397. timeout: 5s
  398. image:
  399. repository: xperimental/nextcloud-exporter
  400. tag: 0.5.1
  401. pullPolicy: IfNotPresent
  402. ## Metrics exporter resource requests and limits
  403. ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
  404. ##
  405. # resources: {}
  406. ## Metrics exporter pod Annotation and Labels
  407. # podAnnotations: {}
  408. # podLabels: {}
  409. service:
  410. type: ClusterIP
  411. ## Use serviceLoadBalancerIP to request a specific static IP,
  412. ## otherwise leave blank
  413. # loadBalancerIP:
  414. annotations:
  415. prometheus.io/scrape: "true"
  416. prometheus.io/port: "9205"
  417. labels: {}
  418. rbac:
  419. enabled: false
  420. serviceaccount:
  421. create: false
  422. name: nextcloud-serviceaccount