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

# Default values for peertube.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
repository: chocobozzz/peertube
tag: v2.1.0-buster
pullPolicy: IfNotPresent
type: ClusterIP
# peertubePort should be the same than the port in your Peertube production.yml configuration. Default to 9000
# nginxproxyPort is used only when nginx-proxy is enabled, and should be different from the Peertube port.
# peertubePort is exposed outside of the pod, except if nginx-proxy is enabled, in this case it's the nginxproxyPort that is exposed
# The chart uses the correct port for service and ingress according to configuration
peertubePort: 9000
nginxproxyPort: 9001
# livePort is a directly exposed TCP port used for the live streaming feature.
# Should match your live configuration in production.yml, and default to 1935
livePort: 1935
enabled: true
kubernetes.io/ingress.class: haproxy
kubernetes.io/tls-acme: "true"
certmanager.k8s.io/cluster-issuer: your-certmanager
path: /
- peertube.domain.tld
- secretName: crt-peertube.domain.tld
- peertube.domain.tld
# At start chowncontainer check every video files and chown it to peertube user.
# If you have lots of videos, it may take age.
# If you are sure your rights are ok, you may disable this container to speed up start.
enabled: true
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
cpu: 3
memory: 6Gi
nodeSelector: {}
tolerations: []
# NodeAffinity is useful if you want to specify some nodes for Peertube, eg nodes with high CPU for encoding for example
# nodeAffinity:
# preferredDuringSchedulingIgnoredDuringExecution:
# - weight: 1
# preference:
# matchExpressions:
# - key: kubernetes.io/hostname
# operator: In
# values:
# - yournodes.domain.tld
# PVC are not handled by helm, you need to create both config and data volume before launching the helm
enabled: true
existingClaim: pvc-pt-prod
enabled: true
existingClaim: pvc-ptconfig-prod
hostname: peertube.domain.tld
http: 443
httpsEnabled: true
dbHostname: your.postgresql.hostname
dbUser: peertube
dbPassword: postgres
redisHostname: redis
smtpUser: peertube@peertube.domain.tld
smtpPassword: smtppassword
smtpHostname: smtp.peertube.domain.tld
smtpPort: 465
smtpFrom: peertube@peertube.domain.tld
smtpTls: true
admin: peertube@peertube.domain.tld
transcoding: true
# WARNING nginxproxy is not compatible with live at the moment
# Because it search .../streaming-playlists/... in URL path directly in filesystem path
# and if you use .../streaming_playlists/... on filesystem, live is broken (notice the - vs _)
enabled: false
repository: nginx
tag: 1.17.9
maxbodysize: 8G
# When uploading, temporary space is needed equal to the total size of all concurrent uploads.
# It could be a good idea to use an outside docker storage (eg: pvc in k8s) for these files
enabled: false
existingClaim: pvc-nginx-proxy
usePassword: false
password: peertube
enabled: true
path: /data
# PVC are not handled by helm, you need to create redis volume before deploying helm
enabled: true
existingClaim: pvc-redis-prod