Helm chart for deploying Peertube on kubernetes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

115 lines
3.2 KiB

  1. ---
  2. # Default values for peertube.
  3. # This is a YAML-formatted file.
  4. # Declare variables to be passed into your templates.
  5. replicaCount: 1
  6. image:
  7. repository: chocobozzz/peertube
  8. tag: v2.1.0-buster
  9. pullPolicy: IfNotPresent
  10. service:
  11. type: ClusterIP
  12. # Be careful, if nginx-proxy is enabled, the service port for ingress is the nginx service port (see nginxproxy below)
  13. port: 9000
  14. ingress:
  15. enabled: true
  16. annotations:
  17. kubernetes.io/ingress.class: haproxy
  18. kubernetes.io/tls-acme: "true"
  19. certmanager.k8s.io/cluster-issuer: your-certmanager
  20. path: /
  21. hosts:
  22. - peertube.domain.tld
  23. tls:
  24. - secretName: crt-peertube.domain.tld
  25. hosts:
  26. - peertube.domain.tld
  27. # At start chowncontainer check every video files and chown it to peertube user.
  28. # If you have lots of videos, it may take age.
  29. # If you are sure your rights are ok, you may disable this container to speed up start.
  30. chowncontainer:
  31. enabled: true
  32. resources:
  33. # We usually recommend not to specify default resources and to leave this as a conscious
  34. # choice for the user. This also increases chances charts run on environments with little
  35. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  36. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  37. requests:
  38. cpu: 3
  39. memory: 6Gi
  40. nodeSelector: {}
  41. tolerations: []
  42. # NodeAffinity is useful if you want to specify some nodes for Peertube, eg nodes with high CPU for encoding for example
  43. #affinity:
  44. # nodeAffinity:
  45. # preferredDuringSchedulingIgnoredDuringExecution:
  46. # - weight: 1
  47. # preference:
  48. # matchExpressions:
  49. # - key: kubernetes.io/hostname
  50. # operator: In
  51. # values:
  52. # - yournodes.domain.tld
  53. # PVC are not handled by helm, you need to create both config and data volume before launching the helm
  54. persistence:
  55. data:
  56. enabled: true
  57. existingClaim: pvc-pt-prod
  58. config:
  59. enabled: true
  60. existingClaim: pvc-ptconfig-prod
  61. environment:
  62. hostname: peertube.domain.tld
  63. http: 443
  64. httpsEnabled: true
  65. dbHostname: your.postgresql.hostname
  66. dbUser: peertube
  67. dbPassword: postgres
  68. redisHostname: redis
  69. smtpUser: peertube@peertube.domain.tld
  70. smtpPassword: smtppassword
  71. smtpHostname: smtp.peertube.domain.tld
  72. smtpPort: 465
  73. smtpFrom: peertube@peertube.domain.tld
  74. smtpTls: true
  75. admin: peertube@peertube.domain.tld
  76. signup: false
  77. transcoding: true
  78. nginxproxy:
  79. enabled: true
  80. service:
  81. # Be careful if you use the nginx proxy, the port CANNOT BE the same than default Peertube port (9000)
  82. port: 9001
  83. image:
  84. repository: nginx
  85. tag: 1.17.9
  86. maxbodysize: 8G
  87. # When uploading, temporary space is needed equal to the total size of all concurrent uploads.
  88. # It could be a good idea to use an outside docker storage (eg: pvc in k8s) for these files
  89. persistence:
  90. enabled: false
  91. existingClaim: pvc-nginx-proxy
  92. redis:
  93. usePassword: false
  94. password: peertube
  95. master:
  96. persistence:
  97. enabled: true
  98. path: /data
  99. # PVC are not handled by helm, you need to create redis volume before deploying helm
  100. persistence:
  101. enabled: true
  102. existingClaim: pvc-redis-prod