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

---
# Default values for peertube.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
repository: chocobozzz/peertube
tag: v2.1.0-buster
pullPolicy: IfNotPresent
service:
type: ClusterIP
ports:
# 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
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: haproxy
kubernetes.io/tls-acme: "true"
certmanager.k8s.io/cluster-issuer: your-certmanager
path: /
hosts:
- peertube.domain.tld
tls:
- secretName: crt-peertube.domain.tld
hosts:
- 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.
chowncontainer:
enabled: true
resources:
# 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:'.
requests:
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
#affinity:
# 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
persistence:
data:
enabled: true
existingClaim: pvc-pt-prod
config:
enabled: true
existingClaim: pvc-ptconfig-prod
environment:
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
signup: false
transcoding: true
nginxproxy:
enabled: true
image:
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
persistence:
enabled: false
existingClaim: pvc-nginx-proxy
redis:
usePassword: false
password: peertube
master:
persistence:
enabled: true
path: /data
# PVC are not handled by helm, you need to create redis volume before deploying helm
persistence:
enabled: true
existingClaim: pvc-redis-prod