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.

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