Skip to content

Commit 60981d3

Browse files
committed
release plex chart version 2.0.0
1 parent 95bc417 commit 60981d3

15 files changed

+556
-408
lines changed

docs/index.yaml

+33-1
Original file line numberDiff line numberDiff line change
@@ -1352,6 +1352,38 @@ entries:
13521352
- https://utkuozdemir.org/helm-charts/nvidia-gpu-exporter-0.1.0.tgz
13531353
version: 0.1.0
13541354
plex:
1355+
- annotations:
1356+
artifacthub.io/changes: |
1357+
- Complete refactor of chart
1358+
artifacthub.io/images: |
1359+
- name: linuxserver/plex
1360+
image: docker.io/linuxserver/plex:1.25.2
1361+
artifacthub.io/license: MIT
1362+
apiVersion: v2
1363+
appVersion: 1.25.2
1364+
created: "2021-12-31T04:28:19.809429+01:00"
1365+
description: Plex Media Server Helm chart
1366+
digest: 222be3552efe343743c0640de6b41671239868dc9e1ae15cd418fb2b5d690166
1367+
home: https://www.plex.tv
1368+
icon: https://utkuozdemir.org/helm-charts/plex.png
1369+
keywords:
1370+
- plex
1371+
- media-server
1372+
- plex-media-server
1373+
- streaming
1374+
- tv
1375+
maintainers:
1376+
1377+
name: Utku Özdemir
1378+
url: https://utkuozdemir.org
1379+
name: plex
1380+
sources:
1381+
- https://github.com/linuxserver/docker-plex
1382+
- https://github.com/utkuozdemir/helm-charts
1383+
type: application
1384+
urls:
1385+
- https://utkuozdemir.org/helm-charts/plex-2.0.0.tgz
1386+
version: 2.0.0
13551387
- annotations:
13561388
artifacthub.io/changes: |
13571389
- Update ingress to support newer Kubernetes APIs
@@ -2158,4 +2190,4 @@ entries:
21582190
urls:
21592191
- https://utkuozdemir.org/helm-charts/transmission-openvpn-0.1.0.tgz
21602192
version: 0.1.0
2161-
generated: "2021-12-31T03:38:41.31589+01:00"
2193+
generated: "2021-12-31T04:28:19.808267+01:00"

docs/plex-2.0.0.tgz

6.59 KB
Binary file not shown.

plex/Chart.yaml

+7-8
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
apiVersion: v2
22
name: plex
3-
description: Plex Media Server Helm chart that is based on plexinc/pms-docker Docker image.
3+
description: Plex Media Server Helm chart
44
type: application
5-
version: 1.1.3
6-
appVersion: 1.24.5.5173-8dcc73a59
5+
version: 2.0.0
6+
appVersion: 1.25.2
77
home: https://www.plex.tv
88
keywords:
99
- plex
@@ -12,7 +12,7 @@ keywords:
1212
- streaming
1313
- tv
1414
sources:
15-
- https://github.com/plexinc/pms-docker
15+
- https://github.com/linuxserver/docker-plex
1616
- https://github.com/utkuozdemir/helm-charts
1717
icon: https://utkuozdemir.org/helm-charts/plex.png
1818
maintainers:
@@ -22,8 +22,7 @@ maintainers:
2222
annotations:
2323
artifacthub.io/license: MIT
2424
artifacthub.io/changes: |
25-
- Update ingress to support newer Kubernetes APIs
26-
- Bump appVersion to 1.24.5.5173-8dcc73a59
25+
- Complete refactor of chart
2726
artifacthub.io/images: |
28-
- name: plexinc/pms-docker
29-
image: docker.io/plexinc/pms-docker:1.24.5.5173-8dcc73a59
27+
- name: linuxserver/plex
28+
image: docker.io/linuxserver/plex:1.25.2

plex/README.md

+121
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# plex
2+
3+
![Version: 2.0.0](https://img.shields.io/badge/Version-2.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.25.2](https://img.shields.io/badge/AppVersion-1.25.2-informational?style=flat-square)
4+
5+
Plex Media Server Helm chart
6+
7+
**Homepage:** <https://www.plex.tv>
8+
9+
## TL;DR
10+
11+
```console
12+
$ helm repo add utkuozdemir https://utkuozdemir.org/helm-charts
13+
$ helm install my-release utkuozdemir/plex
14+
```
15+
16+
## Values
17+
18+
| Key | Type | Default | Description |
19+
|-----|------|---------|-------------|
20+
| affinity | object | `{}` | Affinity for the pod assignment |
21+
| dnsConfig | object | `{}` | DNS configuration for the pod |
22+
| dnsPolicy | string | `"ClusterFirst"` | DNS policy for the pod |
23+
| env | object | `{}` | Non-sensitive environment variables to be set in the pods. See the [application docs](https://docs.linuxserver.io/images/docker-plex) |
24+
| extraVolumeMounts | object | `{}` | Arbitrary extra volume mounts for the pod |
25+
| extraVolumes | list | `[]` | Arbitrary extra volume definitions for the pod |
26+
| fullnameOverride | string | `""` | String to fully override fullname template with a string |
27+
| hostNetwork | bool | `false` | |
28+
| hostPort.enabled | bool | `false` | |
29+
| hostPort.port | int | `32400` | |
30+
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
31+
| image.repository | string | `"docker.io/linuxserver/plex"` | Image repository |
32+
| image.tag | string | `""` | Image tag (if not specified, defaults to the chart's appVersion) |
33+
| imagePullSecrets | list | `[]` | Image pull secrets |
34+
| ingress.annotations | object | `{}` | Annotations for the ingress |
35+
| ingress.className | string | `""` | Ingress class name |
36+
| ingress.enabled | bool | `false` | Expose the app using an ingress |
37+
| ingress.hosts | list | see [values.yaml](values.yaml) | Ingress hosts configuration |
38+
| ingress.tls | list | `[]` | The TLS configuration for the Ingress |
39+
| initContainers | list | `[]` | Init containers |
40+
| livenessProbe | object | `{}` | Pod liveness probe |
41+
| nameOverride | string | `""` | String to partially override fullname template with a string (will prepend the release name) |
42+
| nodeSelector | object | `{}` | The node selector for the deployment |
43+
| persistence.config.accessModes[0] | string | `"ReadWriteOnce"` | |
44+
| persistence.config.annotations | object | `{}` | Config: Annotations for the claim |
45+
| persistence.config.customVolume | object | `{}` | Config: Alternative data volume definition (e.g. nfs, hostPath). Used when `persistence.config.isPvc` is `false` |
46+
| persistence.config.enabled | bool | `true` | Config: Enable persistence |
47+
| persistence.config.existingClaim | string | `""` | Config: Name of the existing claim to be used for config |
48+
| persistence.config.isPvc | bool | `true` | Config: Persistence type is pvc. When `false`, data volume definition is read from `persistence.config.customVolume` |
49+
| persistence.config.size | string | `"2Gi"` | Config: Size for the claim |
50+
| persistence.config.storageClass | string | `""` | Config: Storage class for the volume |
51+
| persistence.data.accessModes[0] | string | `"ReadWriteOnce"` | |
52+
| persistence.data.annotations | object | `{}` | Data: Annotations for the claim |
53+
| persistence.data.customVolume | object | `{}` | Data: Alternative data volume definition (e.g. nfs, hostPath). Used when `persistence.data.isPvc` is `false` |
54+
| persistence.data.enabled | bool | `false` | Data: Enable persistence |
55+
| persistence.data.existingClaim | string | `""` | Data: Name of the existing claim to be used |
56+
| persistence.data.isPvc | bool | `true` | Data: Persistence type is pvc. When `false`, data volume definition is read from `persistence.data.customVolume` |
57+
| persistence.data.size | string | `"64Gi"` | Data: Size for the claim |
58+
| persistence.data.storageClass | string | `""` | Data: Storage class for the data volume |
59+
| podAnnotations | object | `{}` | Annotations for the pods |
60+
| podSecurityContext | object | `{}` | Security context for the pods |
61+
| readinessProbe | object | `{"tcpSocket":{"port":"plex"}}` | Pod readiness probe |
62+
| replicaCount | int | `1` | Number of replicas to run. Chart is not designed to scale horizontally, use at your own risk |
63+
| resources | object | `{}` | The resource requests and limits of the container |
64+
| secretEnv | object | `{}` | Sensitive environment variables to be set in the pods. See the [application docs](https://docs.linuxserver.io/images/docker-plex) |
65+
| securityContext | object | `{"capabilities":{"add":["NET_ADMIN"]}}` | Security context for the container. NET_ADMIN capability is required for the VPN to work properly. |
66+
| service.port | int | `32400` | Port for the service to use |
67+
| service.type | string | `"ClusterIP"` | Type of the service |
68+
| serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
69+
| serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
70+
| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
71+
| sidecarContainers | list | `[]` | Sidecar containers |
72+
| strategy | object | `{"type":"Recreate"}` | Deployment strategy |
73+
| tolerations | list | `[]` | Tolerations for the pod assignment |
74+
75+
Alternatively, a YAML file that specifies the values for the parameters
76+
can be provided while installing the chart. For example,
77+
78+
```console
79+
$ helm install my-release -f values.yaml utkuozdemir/plex
80+
```
81+
82+
> **Tip**: You can use the default [values.yaml](values.yaml)
83+
84+
## Notes
85+
86+
Note that this is an un-opinionated chart regarding the configuration. What is meant by this is:
87+
The chart passes the set of environment variables as-is into the container, using the `env` and `secretEnv` values.
88+
This way we avoid mapping each and every configuration parameter to an explicitly
89+
named chart parameter and provides a very flexible configuration.
90+
91+
## Upgrading Chart
92+
93+
```console
94+
helm upgrade my-release utkuozdemir/plex
95+
```
96+
97+
_See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documentation._
98+
99+
### Upgrading an existing Release to a new major version
100+
101+
A major chart version change (like 1.2.0 -> 2.0.0) indicates that
102+
there is an incompatible breaking change needing manual actions.
103+
104+
### From 1.x to 2.x
105+
106+
On version 2.x, the app is backed by a deployment instead of a statefulset.
107+
108+
The values is largely refactored - pay attention to the changes on the `persistence` section.
109+
110+
It is recommended to start from a fresh install.
111+
112+
## Maintainers
113+
114+
| Name | Email | Url |
115+
| ---- | ------ | --- |
116+
| Utku Özdemir | [email protected] | https://utkuozdemir.org |
117+
118+
## Source Code
119+
120+
* <https://github.com/linuxserver/docker-plex>
121+
* <https://github.com/utkuozdemir/helm-charts>

plex/README.md.gotmpl

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
{{ template "chart.header" . }}
2+
{{ template "chart.deprecationWarning" . }}
3+
4+
{{ template "chart.badgesSection" . }}
5+
6+
{{ template "chart.description" . }}
7+
8+
{{ template "chart.homepageLine" . }}
9+
10+
## TL;DR
11+
12+
```console
13+
$ helm repo add utkuozdemir https://utkuozdemir.org/helm-charts
14+
$ helm install my-release utkuozdemir/{{ template "chart.name" . }}
15+
```
16+
17+
{{ template "chart.requirementsSection" . }}
18+
19+
{{ template "chart.valuesSection" . }}
20+
21+
Alternatively, a YAML file that specifies the values for the parameters
22+
can be provided while installing the chart. For example,
23+
24+
```console
25+
$ helm install my-release -f values.yaml utkuozdemir/plex
26+
```
27+
28+
> **Tip**: You can use the default [values.yaml](values.yaml)
29+
30+
31+
## Notes
32+
33+
Note that this is an un-opinionated chart regarding the configuration. What is meant by this is:
34+
The chart passes the set of environment variables as-is into the container, using the `env` and `secretEnv` values.
35+
This way we avoid mapping each and every configuration parameter to an explicitly
36+
named chart parameter and provides a very flexible configuration.
37+
38+
## Upgrading Chart
39+
40+
```console
41+
helm upgrade my-release utkuozdemir/{{ template "chart.name" . }}
42+
```
43+
44+
_See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documentation._
45+
46+
### Upgrading an existing Release to a new major version
47+
48+
A major chart version change (like 1.2.0 -> 2.0.0) indicates that
49+
there is an incompatible breaking change needing manual actions.
50+
51+
### From 1.x to 2.x
52+
53+
On version 2.x, the app is backed by a deployment instead of a statefulset.
54+
55+
The values is largely refactored - pay attention to the changes on the `persistence` section.
56+
57+
It is recommended to start from a fresh install.
58+
59+
60+
{{ template "chart.maintainersSection" . }}
61+
62+
{{ template "chart.sourcesSection" . }}

plex/templates/NOTES.txt

+1-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
1. Get the application URL by running these commands:
1+
Get the application URL by running these commands:
22
{{- if .Values.ingress.enabled }}
33
{{- range $host := .Values.ingress.hosts }}
44
{{- range .paths }}
@@ -20,12 +20,6 @@
2020
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80
2121
{{- end }}
2222

23-
2423
For the initial setup, do "kubectl -n {{ .Release.Namespace }} port-forward svc/{{ include "plex.fullname" . }} 8888:{{ .Values.service.port }}",
2524
hit http://localhost:8888/web so Plex can find the server. This is one time operation.
2625
See "On a different Network" section here: https://support.plex.tv/articles/200288586-installation/
27-
28-
To enable remote access, go to Settings -> Network -> Custom server access URLs
29-
and set the value to one of the ingress URLs above, and save changes.
30-
Afterwards, go to Settings -> Network -> Remote Access, and disable/re-enable, retry etc.
31-
(Remote access check with custom URLs is somewhat buggy)

0 commit comments

Comments
 (0)