Files
kube-plex/charts/kube-plex/values.yaml
T
gilgamezh 1bc376f4f1 Add configurable GPU support for hardware transcoding
- Add gpu configuration section to values.yaml with enable/disable toggle
- Make hostPath and mountPath configurable with sensible defaults (/dev/dri)
- Update deployment template with conditional GPU volume mounting
- GPU support is disabled by default for backward compatibility
- When enabled, mounts host GPU devices for hardware-accelerated transcoding

Usage:
  gpu:
    enabled: true
    hostPath: "/dev/dri"      # Host GPU device path
    mountPath: "/dev/dri"     # Container mount path

This allows users to easily enable GPU acceleration while maintaining
flexibility for different GPU setups and container paths.
2025-07-28 14:35:14 +02:00

158 lines
5.0 KiB
YAML

# Default values for kube-plex.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
image:
repository: plexinc/pms-docker
tag: 1.16.0.1226-7eb2c8f6f
pullPolicy: IfNotPresent
kubePlex:
enabled: true
image:
repository: quay.io/munnerz/kube-plex
tag: latest
pullPolicy: Always
# Override this with the plex claim token from plex.tv/claim
claimToken: ""
# Set the timezone of the plex server
timezone: Europe/London
service:
type: ClusterIP
port: 32400
## Specify the nodePort value for the LoadBalancer and NodePort service types.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
##
# nodePort:
## Provide any additional annotations which may be required. This can be used to
## set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
annotations: {}
labels: {}
## Use loadBalancerIP to request a specific static IP,
## otherwise leave blank
##
loadBalancerIP:
# loadBalancerSourceRanges: []
## Set the externalTrafficPolicy in the Service to either Cluster or Local
# externalTrafficPolicy: Cluster
ingress:
enabled: false
# Used to create an Ingress record.
hosts:
- chart-example.local
annotations:
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
tls:
# Secrets must be manually created in the namespace.
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
rbac:
create: true
# Specify create: false and serviceAccountName to manually manage the service
# account for this deployment
## serviceAccountName: ""
nodeSelector:
beta.kubernetes.io/arch: amd64
persistence:
transcode:
# Optionally specify claimName to manually override the PVC to be used for
# the transcode directory. If claimName is specified, storageClass and size
# are ignored.
## claimName: "plex-transcode-pvc"
# Optionally specify a storage class to be used for the transcode directory.
# If not specified and claimName is not specified, the default storage
# class will be used.
storageClass: ""
# subPath: some-subpath
# The requested size of the volume to be used when creating a
# PersistentVolumeClaim.
size: 20Gi
# Access mode for this volume
accessMode: ReadWriteMany
data:
# Optionally specify claimName to manually override the PVC to be used for
# the data directory. If claimName is specified, storageClass and size are
# ignored.
## claimName: "plex-data-pvc"
# Optionally specify a storage class to be used for the data directory.
# If not specified and claimName is not specified, the default storage
# class will be used.
storageClass: ""
# subPath: some-subpath
# The requested size of the volume to be used when creating a
# PersistentVolumeClaim.
size: 40Gi
# Access mode for this volume
accessMode: ReadWriteMany
extraData: []
# Optionally specifify additional Data mounts. These will be mounted as
# /data-${name}. This should be in the same format as the above 'data',
# with the additional field 'name'
# - claimName: "special-tv"
# name: 'foo'
config:
# Optionally specify claimName to manually override the PVC to be used for
# the config directory. If claimName is specified, storageClass and size
# are ignored.
## claimName: "plex-config-pvc"
# Optionally specify a storage class to be used for the config directory.
# If not specified and claimName is not specified, the default storage
# class will be used.
# subPath: some-subpath
storageClass: ""
# The requested size of the volume to be used when creating a
# PersistentVolumeClaim.
size: 20Gi
# Access mode for this volume
accessMode: ReadWriteMany
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:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
podAnnotations: {}
deploymentAnnotations: {}
proxy:
# This allows to set a proxy environment variable, which PMS uses to fetch the token and assets like movie cover
enable: false
# http: "http://proxy:8080"
# https: "https://proxy:8080"
# noproxy: "localhost,127.0.0.1,10.96.0.0/12,10.244.0.0/12"
# allows setting which taints kubeplex tolerates
tolerations: []
# allows specifying node affinity
affinity: {}
# GPU support for hardware-accelerated transcoding
gpu:
# Enable GPU support (mount /dev/dri from host)
enabled: false
# Host path to GPU device directory
hostPath: "/dev/dri"
# Container mount path for GPU devices
mountPath: "/dev/dri"