Skip to content

Plex

plex logo

Version: 0.4.2 Type: application AppVersion: version-1.40.2.8395-c67dce28e

Plex organizes all of your personal media so you can enjoy it no matter where you are.

This chart is not maintained by the upstream project and any issues with the chart should be raised here

Source Code

Requirements

Kubernetes: >=1.22.0-0

Dependencies

Repository Name Version
https://bjw-s.github.io/helm-charts common 1.5.1

Installing the Chart

To install the chart with the release name plex

helm install plex oci://ghcr.io/gabe565/charts/plex

Traditional

helm repo add gabe565 https://charts.gabe565.com
helm repo update
helm install plex gabe565/plex

Uninstalling the Chart

To uninstall the plex deployment

helm uninstall plex

The command removes all the Kubernetes components associated with the chart including persistent volumes and deletes the release.

Configuration

Read through the values.yaml file. It has several commented out suggested values. Other values may be used from the values.yaml from the bjw-s common library.

Specify each parameter using the --set key=value[,key=value] argument to helm install.

helm install plex \
  --set env.TZ="America/New York" \
    gabe565/plex

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.

helm install plex gabe565/plex -f values.yaml

Custom configuration

Hardware Acceleration

Intel QuickSync

Hardware acceleration using an Intel iGPU with QuickSync requires the GPU plugin in intel-device-plugins-for-kubernetes.

  1. Install intel/gpu-device-plugin

  2. Get the group IDs from your host:

    $ cat /etc/group | grep 'video\|render'
    video:x:44:
    render:x:109:
    

  3. Add the following to your values.yaml, replacing the supplementalGroups with your group IDs:

    podSecurityContext:
      supplementalGroups: [44, 109]
    
    resources:
      requests:
        gpu.intel.com/i915: 1
      limits:
        gpu.intel.com/i915: 1
    

Dedicated Transcode Directory

By default, Plex will use a subdirectory of /config for the temporary files during transcoding. This can be changed by adding a temporary directory at /transcode, for example in values.yaml:

persistence:
  transcode:
    enabled: true
    storageClass: cheap-storage
    accessMode: ReadWriteOnce
    size: 40Gi

Once Plex is running, navigate to Settings > Transcoder and set Transcoder temporary directory to /transcode.

Values

Important: When deploying an application Helm chart you can add more values from the bjw-s common library chart here

Key Type Default Description
env object See values.yaml Environment variables. [ref]
env.TZ string "UTC" Set the container timezone
image.pullPolicy string "IfNotPresent" image pull policy
image.repository string "ghcr.io/linuxserver/plex" image repository
image.tag string "version-1.40.2.8395-c67dce28e" image tag
ingress.main object See values.yaml Enable and configure ingress settings for the chart under this key.
persistence.config object See values.yaml Configure persistence settings for the chart under this key.
persistence.media object See values.yaml Configure media volume under this key (or under tv and movies, etc).
service.main object See values.yaml Configures HTTP service settings for the chart.

Autogenerated from chart metadata using helm-docs