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.

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