diff --git a/charts/plex/1.6.1/.helmignore b/charts/plex/1.6.1/.helmignore new file mode 100644 index 0000000000..e559de0a01 --- /dev/null +++ b/charts/plex/1.6.1/.helmignore @@ -0,0 +1,24 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS diff --git a/charts/plex/1.6.1/Chart.lock b/charts/plex/1.6.1/Chart.lock new file mode 100644 index 0000000000..e0a3597a26 --- /dev/null +++ b/charts/plex/1.6.1/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: file://../../../library/common/2105.0.0 + version: 2105.0.0 +digest: sha256:11522ab36487826700d7ad0f86f713a4bb5d35248014bcef690fe94acbc09ef6 +generated: "2021-05-10T13:07:35.458234+05:00" diff --git a/charts/plex/1.6.1/Chart.yaml b/charts/plex/1.6.1/Chart.yaml new file mode 100644 index 0000000000..6e32b951fa --- /dev/null +++ b/charts/plex/1.6.1/Chart.yaml @@ -0,0 +1,18 @@ +apiVersion: v2 +appVersion: 1.23.2.4656 +description: Plex Media Server +name: plex +version: 1.6.1 +keywords: + - plex +home: https://plex.tv/ +icon: https://www.plex.tv/wp-content/uploads/2018/01/pmp-icon-1.png +sources: + - https://hub.docker.com/r/plexinc/pms-docker/ + - https://github.com/k8s-at-home/charts/tree/master/charts/plex +upstream_version: 2.1.0 +dependencies: + - name: common + repository: file://../../../library/common/2105.0.0 + version: 2105.0.0 + diff --git a/charts/plex/1.6.1/README.md b/charts/plex/1.6.1/README.md new file mode 100644 index 0000000000..7a3bb510dc --- /dev/null +++ b/charts/plex/1.6.1/README.md @@ -0,0 +1,5 @@ +# Plex Media Server helm chart + +## Configuration + +Please refer to questions.yaml for a detailed overview on supported configurable items. diff --git a/charts/plex/1.6.1/app-readme.md b/charts/plex/1.6.1/app-readme.md new file mode 100644 index 0000000000..cb657a2f0e --- /dev/null +++ b/charts/plex/1.6.1/app-readme.md @@ -0,0 +1,3 @@ +# Plex + +Plex chart is a chart designed to deploy plex in a TrueNAS SCALE kubernetes cluster. diff --git a/charts/plex/1.6.1/charts/common-2105.0.0.tgz b/charts/plex/1.6.1/charts/common-2105.0.0.tgz new file mode 100644 index 0000000000..6a406ffcec Binary files /dev/null and b/charts/plex/1.6.1/charts/common-2105.0.0.tgz differ diff --git a/charts/plex/1.6.1/default_values.yaml b/charts/plex/1.6.1/default_values.yaml new file mode 100644 index 0000000000..12b8b12cc6 --- /dev/null +++ b/charts/plex/1.6.1/default_values.yaml @@ -0,0 +1,84 @@ +# Default values +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +# The Image to use for PLEX + +image: + repository: plexinc/pms-docker + tag: 1.20.2.3402-0fec14d92 + pullPolicy: IfNotPresent + +##### START --> Official PLEX container environment variables +# Override this with the plex claim token from plex.tv/claim +claimToken: "" + +# Set the timezone of the plex server +timezone: "Etc/UTC" + +# add your pod network subnet to the `List of IP addresses and networks that are allowed without auth` +# This will override the manual settings, so only use this if you will not need to change it manually. +# This list will be automatically converted to a command seperated string when passed to the container. +# You would specify this when using helm CLI with --set allowedNetworks="{127.0.0.1,10.54.2.0/24}" +# allowedNetworks: +# - 127.0.0.1 +# - 10.54.2.0/24 + +# Instruct the Plex Media Server Container to Change the Configuration Directory Ownership +# Default is true, you would only need to set this if you want to disable it. +# changeConfigDirOwnership: true + +# advertiseIp This variable defines the additional IPs on which the server may be be found. +# For example: http://10.1.1.23:32400. +# This adds to the list where the server advertises that it can be found. +# See https://hub.docker.com/r/plexinc/pms-docker/ for details +# advertiseIp: "http://10.1.1.23:32400" + +# Set The user id of the plex user created inside the container. +# See https://hub.docker.com/r/plexinc/pms-docker/ for details +# plexUid: 1000 + +# Set The group id of the plex group created inside the container +# See https://hub.docker.com/r/plexinc/pms-docker/ for details +# plexGid: 1000 + +##### END --> Official PLEX container environment variables + +# You can add as many Additional ENV variables here +# The following is the same as --set extraEnv.TMPDIR="/transcode" +# extraEnv: +# TMPDIR: /transcode + +# upgrade strategy type (e.g. Recreate or RollingUpdate) +updateStrategy: Recreate + +plexServiceTCP: + port: 32400 + +hostNetwork: false + +proxy: + # This allows to set a proxy environment variable, which PMS uses to fetch the token and assets like movie cover + enabled: 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" + +gpuConfiguration: {} + +appVolumeMounts: + transcode: + emptyDir: true + mountPath: "/transcode" + data: + emptyDir: true + mountPath: "/data" + config: + emptyDir: true + mountPath: "/config" + shared: + emptyDir: true + mountPath: "shared" + shared-logs: + emptyDir: true + mountPath: "/config/Library/Application Support/Plex Media Server/Logs" diff --git a/charts/plex/1.6.1/ix_values.yaml b/charts/plex/1.6.1/ix_values.yaml new file mode 100644 index 0000000000..0365f36f05 --- /dev/null +++ b/charts/plex/1.6.1/ix_values.yaml @@ -0,0 +1,4 @@ +image: + repository: plexinc/pms-docker + tag: 1.23.2.4656-85f0adf5b + pullPolicy: IfNotPresent diff --git a/charts/plex/1.6.1/migrations/migrate_from_1.0.0 b/charts/plex/1.6.1/migrations/migrate_from_1.0.0 new file mode 100755 index 0000000000..a93c1d9f47 --- /dev/null +++ b/charts/plex/1.6.1/migrations/migrate_from_1.0.0 @@ -0,0 +1,34 @@ +#!/usr/bin/python3 +import json +import os +import sys + + +def migrate(values): + values.update({ + 'appVolumeMounts': { + 'transcode': { + 'hostPathEnabled': values['transcodeHostPathEnabled'], + **({'hostPath': values['transcodeHostPath']} if values.get('transcodeHostPath') else {}) + }, + 'config': { + 'hostPathEnabled': values['configHostPathEnabled'], + **({'hostPath': values['configHostPath']} if values.get('configHostPath') else {}) + }, + 'data': { + 'hostPathEnabled': values['dataHostPathEnabled'], + **({'hostPath': values['dataHostPath']} if values.get('dataHostPath') else {}) + }, + }, + 'updateStrategy': values.get('strategyType', 'Recreate'), + }) + return values + + +if __name__ == '__main__': + if len(sys.argv) != 2: + exit(1) + + if os.path.exists(sys.argv[1]): + with open(sys.argv[1], 'r') as f: + print(json.dumps(migrate(json.loads(f.read())))) diff --git a/charts/plex/1.6.1/questions.yaml b/charts/plex/1.6.1/questions.yaml new file mode 100644 index 0000000000..801d1c9248 --- /dev/null +++ b/charts/plex/1.6.1/questions.yaml @@ -0,0 +1,321 @@ +groups: + - name: "Container Images" + description: "Image to be used for container" + - name: "Container Entrypoint" + description: "Configuration of the executable that will be run when the container is started" + - name: "Container Environment Variables" + description: "Set the environment that will be visible to the container" + - name: "Networking" + description: "Configure networking for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Plex Configuration" + description: "Configure plex deployment" + - name: "Workload Details" + description: "Configure how workload should be deployed" + - name: "Scaling/Upgrade Policy" + description: "Configure how pods are replaced when configuration is upgraded" + - name: "Restart Policy" + description: "Configure when pod should be restarted in case of failure" + - name: "Resource Reservation" + description: "Specify resources to be allocated to workload" + - name: "Advanced DNS Settings" + description: "Configure DNS settings" + +portals: + web_portal: + protocols: + - "http" + host: + - "$node_ip" + ports: + - "$variable-plexServiceTCP.port" + path: "/web" + +questions: + + - variable: dnsConfig + label: "DNS Configuration" + group: "Advanced DNS Settings" + schema: + type: dict + attrs: + - variable: options + label: "DNS Options" + schema: + type: list + items: + - variable: optionsEntry + label: "Option Entry Configuration" + schema: + type: dict + attrs: + - variable: name + label: "Option Name" + schema: + type: string + required: true + - variable: value + label: "Option Value" + schema: + type: string + required: true + + - variable: claimToken + label: "Plex Claim Token" + group: "Plex Configuration" + description: "The claim token for the server to obtain a real server token. If not provided, server is will not be automatically logged in. If server is already logged in, this parameter is ignored. You can obtain a claim token to login your server to your plex account by visiting https://www.plex.tv/claim." + schema: + type: string + default: "" + + - variable: hostNetwork + label: "Configure Host Network" + group: "Networking" + schema: + type: boolean + default: false + + - variable: environmentVariables + label: "Environment Variables for Plex" + group: "Plex Configuration" + schema: + type: list + default: [] + items: + - variable: environmentVariable + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: timezone + label: "Plex container timezone" + group: "Plex Configuration" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + + # Update strategy + - variable: updateStrategy + description: "Upgrade Policy" + label: "Update Strategy" + group: "Scaling/Upgrade Policy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + + # Port configuration + - variable: plexServiceTCP + label: "Configure Plex TCP Service" + group: "Networking" + schema: + type: dict + attrs: + - variable: port + label: "Port to expose for Plex UI" + schema: + type: int + min: 9000 + max: 65535 + default: 32400 + + # Specify GPU configuration + - variable: gpuConfiguration + label: "GPU Configuration" + group: "Resource Reservation" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: appVolumeMounts + label: "Plex Storage" + group: "Storage" + schema: + type: dict + attrs: + - variable: transcode + label: "Transcode Volume" + schema: + type: dict + attrs: + - variable: datasetName + label: "Plex Transcode Volume Name" + schema: + type: string + $ref: + - "normalize/ixVolume" + show_if: [["hostPathEnabled", "=", false]] + default: "ix-plex_transcode" + hidden: true + editable: false + - variable: mountPath + label: "Plex Transcode Mount Path" + description: "Path where the volume will be mounted inside the pod" + schema: + type: path + hidden: true + editable: false + default: "/transcode" + - variable: hostPathEnabled + label: "Enable Host Path for Plex Transcode Volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostPath + label: "Host Path for Plex Transcode Volume" + schema: + type: hostpath + required: true + - variable: data + label: "Data Volume" + schema: + type: dict + attrs: + - variable: datasetName + label: "Plex Data Volume Name" + schema: + type: string + $ref: + - "normalize/ixVolume" + show_if: [["hostPathEnabled", "=", false]] + default: "ix-plex_data" + editable: false + hidden: true + - variable: mountPath + label: "Plex Data Mount Path" + description: "Path where the volume will be mounted inside the pod" + schema: + type: path + hidden: true + editable: false + default: "/data" + - variable: hostPathEnabled + label: "Enable Host Path for Plex Data Volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostPath + label: "Host Path for Plex Data Volume" + schema: + type: hostpath + required: true + - variable: config + label: "Config Volume" + schema: + type: dict + attrs: + - variable: datasetName + label: "Plex Config Volume Name" + schema: + type: string + $ref: + - "normalize/ixVolume" + show_if: [["hostPathEnabled", "=", false]] + default: "ix-plex_config" + editable: false + hidden: true + - variable: mountPath + label: "Plex Config Mount Path" + description: "Path where the volume will be mounted inside the pod" + schema: + type: path + editable: false + hidden: true + default: "/config" + - variable: hostPathEnabled + label: "Enable Host Path for Plex Config Volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostPath + label: "Host Path for Plex Config Volume" + schema: + type: hostpath + required: true + - variable: shared + label: "Shared Volume" + schema: + type: dict + hidden: true + attrs: + - variable: emptyDir + label: "Temporary Volume" + schema: + type: boolean + default: true + editable: false + - variable: mountPath + label: "Plex Shared Mount Path" + description: "Path where the volume will be mounted inside the pod" + schema: + type: path + editable: false + default: "/shared" + - variable: shared-logs + label: "Shared Logs Volume" + schema: + type: dict + hidden: true + attrs: + - variable: emptyDir + label: "Temporary Volume" + schema: + type: boolean + default: true + editable: false + - variable: mountPath + label: "Plex Shared Logs Mount Path" + description: "Path where the volume will be mounted inside the pod" + schema: + type: path + editable: false + default: "/config/Library/Application Support/Plex Media Server/Logs" + + - variable: extraAppVolumeMounts + label: "Plex Extra Host Path Volumes" + group: "Storage" + schema: + type: list + items: + - variable: extraAppVolume + label: "Plex Host Path Volume" + description: "Add an extra host path volume for plex application" + schema: + type: dict + attrs: + - variable: mountPath + label: "Mount Path in Pod" + description: "Path where the volume will be mounted inside the pod" + schema: + type: path + required: true + - variable: hostPath + label: "Host Path" + description: "Host path" + schema: + type: hostpath + required: true diff --git a/charts/plex/1.6.1/templates/NOTES.txt b/charts/plex/1.6.1/templates/NOTES.txt new file mode 100644 index 0000000000..f3d1e07cb1 --- /dev/null +++ b/charts/plex/1.6.1/templates/NOTES.txt @@ -0,0 +1,3 @@ +1. Get the application URL by running these commands: + +http://$node_ip:{{ .Values.plexServiceTCP.port }}/ diff --git a/charts/plex/1.6.1/templates/deployment.yaml b/charts/plex/1.6.1/templates/deployment.yaml new file mode 100644 index 0000000000..b54a4de670 --- /dev/null +++ b/charts/plex/1.6.1/templates/deployment.yaml @@ -0,0 +1,94 @@ +{{ include "common.deployment.common_config" . | nindent 0 }} +spec: {{ include "common.deployment.common_spec" . | nindent 2 }} + template: {{ include "common.deployment.pod.metadata" . | nindent 4 }} + spec: + {{- if .Values.hostNetwork }} + hostNetwork: {{ .Values.hostNetwork }} + dnsPolicy: ClusterFirstWithHostNet + {{- end }} + containers: + - name: {{ .Chart.Name }} + {{ include "common.containers.imageConfig" .Values.image | nindent 10 }} + {{ include "common.containers.gpuConfiguration" .Values | nindent 10 }} + volumeMounts: {{ include "common.storage.configureAppVolumeMountsInContainer" .Values | nindent 12 }} + - name: plex-probe-check + mountPath: /bin/plex_probe_check.sh + readOnly: true + subPath: entrypoint.sh + {{ range $index, $hostPathConfiguration := .Values.extraAppVolumeMounts }} + - name: extrappvolume-{{ $index }} + mountPath: {{ $hostPathConfiguration.mountPath }} + {{ end }} + ports: + - name: pms + protocol: TCP + containerPort: 32400 + {{- if .Values.hostNetwork }} + hostPort: {{ .Values.plexServiceTCP.port }} + {{- end }} + - name: plex-dlna + protocol: TCP + containerPort: 32469 + - name: plex-dlna-udp + protocol: UDP + containerPort: 1900 + - name: plex-gdm1 + protocol: UDP + containerPort: 32410 + - name: plex-gdm2 + protocol: UDP + containerPort: 32412 + - name: plex-gdm3 + protocol: UDP + containerPort: 32413 + - name: plex-gdm4 + protocol: UDP + containerPort: 32414 + env: + - name: KUBE_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + {{ $envList := (default list .Values.environmentVariables) }} + {{ if and .Values.gpuConfiguration (hasKey .Values.gpuConfiguration "nvidia.com/gpu") (gt (get .Values.gpuConfiguration "nvidia.com/gpu" | toDecimal) 0) }} + {{ $envList = mustAppend $envList (dict "name" "NVIDIA_DRIVER_CAPABILITIES" "value" "all") }} + {{ end }} + {{ $envList = mustAppend $envList (dict "name" "TZ" "value" .Values.timezone) }} + {{ $envList = mustAppend $envList (dict "name" "PLEX_CLAIM" "value" .Values.claimToken) }} + {{ $envList = mustAppend $envList (dict "name" "PMS_INTERNAL_ADDRESS" "value" (printf "http://%s:32400" (include "common.names.fullname" .))) }} + {{ $envList = mustAppend $envList (dict "name" "PMS_IMAGE" "value" (printf "%s:%s" .Values.image.repository .Values.image.tag))}} + {{ include "common.containers.environmentVariables" (dict "environmentVariables" $envList) | nindent 12 }} + readinessProbe: + exec: + command: + - /bin/plex_probe_check.sh + failureThreshold: 5 + periodSeconds: 15 + livenessProbe: + exec: + command: + - /bin/plex_probe_check.sh + failureThreshold: 5 + periodSeconds: 15 + startupProbe: + exec: + command: + - /bin/plex_probe_check.sh + initialDelaySeconds: 5 + failureThreshold: 40 + periodSeconds: 15 + {{ include "common.networking.dnsConfiguration" .Values | nindent 6 }} + volumes: {{ include "common.storage.configureAppVolumes" .Values | nindent 8 }} + - name: plex-probe-check + configMap: + defaultMode: 0700 + name: "plex-probe-check" + {{ range $index, $hostPathConfiguration := .Values.extraAppVolumeMounts }} + - name: extrappvolume-{{ $index }} + hostPath: + path: {{ $hostPathConfiguration.hostPath }} + {{ end }} diff --git a/charts/plex/1.6.1/templates/probe_config.yaml b/charts/plex/1.6.1/templates/probe_config.yaml new file mode 100644 index 0000000000..736ee8cf47 --- /dev/null +++ b/charts/plex/1.6.1/templates/probe_config.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: "plex-probe-check" +data: + entrypoint.sh: |- + #!/bin/sh + curl -ksf http://$POD_IP:32400/identity -o /dev/null || curl -ksf https://$POD_IP:32400/identity -o /dev/null diff --git a/charts/plex/1.6.1/templates/service-tcp.yaml b/charts/plex/1.6.1/templates/service-tcp.yaml new file mode 100644 index 0000000000..4fec88260b --- /dev/null +++ b/charts/plex/1.6.1/templates/service-tcp.yaml @@ -0,0 +1,16 @@ +{{ $svc := .Values.plexServiceTCP }} +{{ $ports := list }} +{{ $ports = mustAppend $ports (dict "name" "pms" "port" $svc.port "nodePort" $svc.port "targetPort" "pms") }} +{{ $ports = mustAppend $ports (dict "name" "http" "port" 80 "targetPort" "pms") }} +{{ $ports = mustAppend $ports (dict "name" "https" "port" 443 "targetPort" "pms") }} +{{ $ports = mustAppend $ports (dict "name" "plex-dlna" "port" 1900 "targetPort" "plex-dlna") }} +{{ $params := . }} +{{ $_ := set $params "commonService" (dict "ports" $ports ) }} +{{ if .Values.hostNetwork }} +{{ $_ := set $params.commonService "nameSuffix" "tcp-cluster-ip" }} +{{ $_1 := set $params.commonService "type" "ClusterIP" }} +{{ else }} +{{ $_ := set $params.commonService "nameSuffix" "tcp" }} +{{ $_1 := set $params.commonService "type" "NodePort" }} +{{ end }} +{{ include "common.classes.service" $params }} diff --git a/charts/plex/1.6.1/templates/service-udp.yaml b/charts/plex/1.6.1/templates/service-udp.yaml new file mode 100644 index 0000000000..5a84addc99 --- /dev/null +++ b/charts/plex/1.6.1/templates/service-udp.yaml @@ -0,0 +1,9 @@ +{{ $ports := list }} +{{ $ports = mustAppend $ports (dict "name" "plex-dlna-udp" "port" 1900 "protocol" "UDP" "targetPort" "plex-dlna-udp") }} +{{ $ports = mustAppend $ports (dict "name" "plex-gdm1" "port" 32410 "protocol" "UDP" "targetPort" "plex-gdm1") }} +{{ $ports = mustAppend $ports (dict "name" "plex-gdm2" "port" 32412 "protocol" "UDP" "targetPort" "plex-gdm2") }} +{{ $ports = mustAppend $ports (dict "name" "plex-gdm3" "port" 32413 "protocol" "UDP" "targetPort" "plex-gdm3") }} +{{ $ports = mustAppend $ports (dict "name" "plex-gdm4" "port" 32414 "protocol" "UDP" "targetPort" "plex-gdm4") }} +{{ $params := . }} +{{ $_ := set $params "commonService" (dict "type" "ClusterIP" "ports" $ports "nameSuffix" "udp" ) }} +{{ include "common.classes.service" $params }} diff --git a/charts/plex/1.6.1/test_values.yaml b/charts/plex/1.6.1/test_values.yaml new file mode 100644 index 0000000000..193c0fe331 --- /dev/null +++ b/charts/plex/1.6.1/test_values.yaml @@ -0,0 +1,83 @@ +# Default values +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +# The Image to use for PLEX + +image: + repository: plexinc/pms-docker + tag: 1.20.2.3402-0fec14d92 + pullPolicy: IfNotPresent + +##### START --> Official PLEX container environment variables +# Override this with the plex claim token from plex.tv/claim +claimToken: "" + +# Set the timezone of the plex server +timezone: "Etc/UTC" + +# add your pod network subnet to the `List of IP addresses and networks that are allowed without auth` +# This will override the manual settings, so only use this if you will not need to change it manually. +# This list will be automatically converted to a command seperated string when passed to the container. +# You would specify this when using helm CLI with --set allowedNetworks="{127.0.0.1,10.54.2.0/24}" +# allowedNetworks: +# - 127.0.0.1 +# - 10.54.2.0/24 + +# Instruct the Plex Media Server Container to Change the Configuration Directory Ownership +# Default is true, you would only need to set this if you want to disable it. +# changeConfigDirOwnership: true + +# advertiseIp This variable defines the additional IPs on which the server may be be found. +# For example: http://10.1.1.23:32400. +# This adds to the list where the server advertises that it can be found. +# See https://hub.docker.com/r/plexinc/pms-docker/ for details +# advertiseIp: "http://10.1.1.23:32400" + +# Set The user id of the plex user created inside the container. +# See https://hub.docker.com/r/plexinc/pms-docker/ for details +# plexUid: 1000 + +# Set The group id of the plex group created inside the container +# See https://hub.docker.com/r/plexinc/pms-docker/ for details +# plexGid: 1000 + +##### END --> Official PLEX container environment variables + +# You can add as many Additional ENV variables here +# The following is the same as --set extraEnv.TMPDIR="/transcode" +# extraEnv: +# TMPDIR: /transcode + +# upgrade strategy type (e.g. Recreate or RollingUpdate) +updateStrategy: "Recreate" + +plexServiceTCP: + port: 32400 + +hostNetwork: false + +environmentVariables: [] + +gpuConfiguration: {} +emptyDirVolumes: true + +appVolumeMounts: + transcode: + emptyDir: true + mountPath: "/transcode" + data: + emptyDir: true + mountPath: "/data" + config: + emptyDir: true + mountPath: "/config" + shared: + emptyDir: true + mountPath: "shared" + shared-logs: + emptyDir: true + mountPath: "/config/Library/Application Support/Plex Media Server/Logs" + +dnsConfig: + options: [] diff --git a/charts/plex/1.6.1/values.yaml b/charts/plex/1.6.1/values.yaml new file mode 100644 index 0000000000..e69de29bb2