values.yaml 13 KB

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