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.

109 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: v6.0.2-bookworm
  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. ingressClassName: haproxy
  25. annotations:
  26. kubernetes.io/tls-acme: "true"
  27. certmanager.k8s.io/cluster-issuer: your-certmanager
  28. path: /
  29. pathType: Prefix
  30. hosts:
  31. - peertube.domain.tld
  32. tls:
  33. - secretName: crt-peertube.domain.tld
  34. hosts:
  35. - peertube.domain.tld
  36. # At start chowncontainer check every video files and chown it to peertube user.
  37. # If you have lots of videos, it may take age.
  38. # If you are sure your rights are ok, you may disable this container to speed up start.
  39. chowncontainer:
  40. enabled: true
  41. 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. redisAuth: redispassword
  75. smtpUser: peertube@peertube.domain.tld
  76. smtpPassword: smtppassword
  77. smtpHostname: smtp.peertube.domain.tld
  78. smtpPort: 465
  79. smtpFrom: peertube@peertube.domain.tld
  80. smtpTls: true
  81. admin: peertube@peertube.domain.tld
  82. transcoding: true
  83. # WARNING nginxproxy is not compatible with live at the moment
  84. # Because it search .../streaming-playlists/... in URL path directly in filesystem path
  85. # and if you use .../streaming_playlists/... on filesystem, live is broken (notice the - vs _)
  86. nginxproxy:
  87. enabled: false
  88. image:
  89. repository: nginx
  90. tag: 1.17.9
  91. maxbodysize: 8G
  92. # When uploading, temporary space is needed equal to the total size of all concurrent uploads.
  93. # It could be a good idea to use an outside docker storage (eg: pvc in k8s) for these files
  94. persistence:
  95. enabled: false
  96. existingClaim: pvc-nginx-proxy