values.yaml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484
  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. # This will only set apache's RemoteIPTrustedProxy, not
  162. # RemoteIPInternalProxy. Local IPs will not be passed through.
  163. - name: TRUSTED_PROXIES
  164. value: "10.42.0.0/16,127.0.0.1"
  165. # Extra init containers that runs before pods start.
  166. extraInitContainers: []
  167. # - name: do-something
  168. # image: busybox
  169. # command: ['do', 'something']
  170. # Extra mounts for the pods. Example shown is for connecting a legacy NFS volume
  171. # to NextCloud pods in Kubernetes. This can then be configured in External Storage
  172. extraVolumes:
  173. # - name: nfs
  174. # nfs:
  175. # server: "10.0.0.1"
  176. # path: "/nextcloud_data"
  177. # readOnly: false
  178. extraVolumeMounts:
  179. # - name: nfs
  180. # mountPath: "/legacy_data"
  181. # Extra secuurityContext parameters. For example you may need to define runAsNonRoot directive
  182. # extraSecurityContext:
  183. # runAsUser: "33"
  184. # runAsGroup: "33"
  185. # runAsNonRoot: true
  186. # readOnlyRootFilesystem: true
  187. nginx:
  188. ## You need to set an fpm version of the image for nextcloud if you want to use nginx!
  189. enabled: false
  190. image:
  191. repository: nginx
  192. tag: alpine
  193. pullPolicy: IfNotPresent
  194. config:
  195. # This generates the default nginx config as per the nextcloud documentation
  196. default: true
  197. # custom: |-
  198. # worker_processes 1;..
  199. resources: {}
  200. internalDatabase:
  201. enabled: false
  202. name: nextcloud
  203. ##
  204. ## External database configuration
  205. ##
  206. externalDatabase:
  207. enabled: true
  208. ## Supported database engines: mysql or postgresql
  209. type: postgresql
  210. ## Database host
  211. host: postgres-postgresql.postgres.svc.cluster.local:5432
  212. ## Database user
  213. user: nextcloud
  214. ## Database password
  215. password:
  216. ## Database name
  217. database: nextcloud
  218. ## Use a existing secret
  219. existingSecret:
  220. enabled: true
  221. secretName: postgres-secret
  222. usernameKey: username
  223. passwordKey: password
  224. ##
  225. ## MariaDB chart configuration
  226. ##
  227. mariadb:
  228. ## 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
  229. enabled: false
  230. auth:
  231. database: nextcloud
  232. username: nextcloud
  233. password: changeme
  234. architecture: standalone
  235. ## Enable persistence using Persistent Volume Claims
  236. ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
  237. ##
  238. primary:
  239. persistence:
  240. enabled: false
  241. # storageClass: ""
  242. accessMode: ReadWriteOnce
  243. size: 8Gi
  244. ##
  245. ## PostgreSQL chart configuration
  246. ## for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql
  247. ##
  248. postgresql:
  249. enabled: false
  250. global:
  251. postgresql:
  252. auth:
  253. username: nextcloud
  254. password: changeme
  255. database: nextcloud
  256. primary:
  257. persistence:
  258. enabled: false
  259. # storageClass: ""
  260. ##
  261. ## Redis chart configuration
  262. ## for more options see https://github.com/bitnami/charts/tree/master/bitnami/redis
  263. ##
  264. redis:
  265. enabled: false
  266. auth:
  267. enabled: true
  268. password: 'changeme'
  269. ## Cronjob to execute Nextcloud background tasks
  270. ## ref: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/background_jobs_configuration.html#webcron
  271. ##
  272. cronjob:
  273. enabled: true
  274. # Nexcloud image is used as default but only curl is needed
  275. image: {}
  276. # repository: nextcloud
  277. # tag: 16.0.3-apache
  278. # pullPolicy: IfNotPresent
  279. # pullSecrets:
  280. # - myRegistrKeySecretName
  281. # Every 5 minutes
  282. # Note: Setting this to any any other value than 5 minutes might
  283. # cause issues with how nextcloud background jobs are executed
  284. schedule: "*/5 * * * *"
  285. annotations: {}
  286. # Set curl's insecure option if you use e.g. self-signed certificates
  287. curlInsecure: false
  288. failedJobsHistoryLimit: 5
  289. successfulJobsHistoryLimit: 2
  290. # If not set, nextcloud deployment one will be set
  291. # resources:
  292. # We usually recommend not to specify default resources and to leave this as a conscious
  293. # choice for the user. This also increases chances charts run on environments with little
  294. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  295. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  296. # limits:
  297. # cpu: 100m
  298. # memory: 128Mi
  299. # requests:
  300. # cpu: 100m
  301. # memory: 128Mi
  302. # If not set, nextcloud deployment one will be set
  303. # nodeSelector: {}
  304. # If not set, nextcloud deployment one will be set
  305. # tolerations: []
  306. # If not set, nextcloud deployment one will be set
  307. # affinity: {}
  308. service:
  309. type: ClusterIP
  310. port: 8080
  311. loadBalancerIP: nil
  312. nodePort: nil
  313. ## Enable persistence using Persistent Volume Claims
  314. ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
  315. ##
  316. persistence:
  317. # Nextcloud Data (/var/www/html)
  318. enabled: true
  319. annotations: {}
  320. ## nextcloud data Persistent Volume Storage Class
  321. ## If defined, storageClassName: <storageClass>
  322. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  323. ## If undefined (the default) or set to null, no storageClassName spec is
  324. ## set, choosing the default provisioner. (gp2 on AWS, standard on
  325. ## GKE, AWS & OpenStack)
  326. ##
  327. storageClass: "ceph-block"
  328. ## A manually managed Persistent Volume and Claim
  329. ## Requires persistence.enabled: true
  330. ## If defined, PVC must be created manually before volume will be bound
  331. existingClaim: nextcloud-pvc
  332. accessMode: ReadWriteOnce
  333. size: 8Gi
  334. ## Use an additional pvc for the data directory rather than a subpath of the default PVC
  335. ## Useful to store data on a different storageClass (e.g. on slower disks)
  336. nextcloudData:
  337. enabled: true
  338. subPath:
  339. annotations: {}
  340. storageClass: "ceph-block"
  341. existingClaim: nextcloud-data-pvc
  342. accessMode: ReadWriteOnce
  343. size: 200Gi
  344. resources: {}
  345. # We usually recommend not to specify default resources and to leave this as a conscious
  346. # choice for the user. This also increases chances charts run on environments with little
  347. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  348. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  349. # limits:
  350. # cpu: 100m
  351. # memory: 128Mi
  352. # requests:
  353. # cpu: 100m
  354. # memory: 128Mi
  355. ## Liveness and readiness probe values
  356. ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
  357. ##
  358. livenessProbe:
  359. enabled: true
  360. initialDelaySeconds: 10
  361. periodSeconds: 10
  362. timeoutSeconds: 5
  363. failureThreshold: 3
  364. successThreshold: 1
  365. readinessProbe:
  366. enabled: true
  367. initialDelaySeconds: 10
  368. periodSeconds: 10
  369. timeoutSeconds: 5
  370. failureThreshold: 3
  371. successThreshold: 1
  372. startupProbe:
  373. enabled: false
  374. initialDelaySeconds: 30
  375. periodSeconds: 10
  376. timeoutSeconds: 5
  377. failureThreshold: 30
  378. successThreshold: 1
  379. ## Enable pod autoscaling using HorizontalPodAutoscaler
  380. ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
  381. ##
  382. hpa:
  383. enabled: false
  384. cputhreshold: 60
  385. minPods: 1
  386. maxPods: 10
  387. nodeSelector: {}
  388. tolerations: []
  389. affinity: {}
  390. ## Prometheus Exporter / Metrics
  391. ##
  392. metrics:
  393. enabled: false
  394. replicaCount: 1
  395. # The metrics exporter needs to know how you serve Nextcloud either http or https
  396. https: false
  397. # Use API token if set, otherwise fall back to password authentication
  398. # https://github.com/xperimental/nextcloud-exporter#token-authentication
  399. # Currently you still need to set the token manually in your nextcloud install
  400. token: ""
  401. timeout: 5s
  402. image:
  403. repository: xperimental/nextcloud-exporter
  404. tag: 0.5.1
  405. pullPolicy: IfNotPresent
  406. ## Metrics exporter resource requests and limits
  407. ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
  408. ##
  409. # resources: {}
  410. ## Metrics exporter pod Annotation and Labels
  411. # podAnnotations: {}
  412. # podLabels: {}
  413. service:
  414. type: ClusterIP
  415. ## Use serviceLoadBalancerIP to request a specific static IP,
  416. ## otherwise leave blank
  417. # loadBalancerIP:
  418. annotations:
  419. prometheus.io/scrape: "true"
  420. prometheus.io/port: "9205"
  421. labels: {}
  422. rbac:
  423. enabled: false
  424. serviceaccount:
  425. create: false
  426. name: nextcloud-serviceaccount