No introduction found. Create it?
plex from bjw-s-labs/helm/app-template is more popular with 58 repositories.
Install with:
helm repo add bjw-s oci://ghcr.io/bjw-s/helm/
helm install plex bjw-s/app-template -f values.yaml
See examples from other people.
Name | Repo | Stars | Version | Timestamp |
---|---|---|---|---|
plex | jr0dd/home-ops | 46 | 2.4.0 | 8 months ago |
plex | toboshii/home-ops | 361 | 0.2.2 | 9 months ago |
plex | brettinternet/homeops | 251 | 3.5.1 | 10 months ago |
See the most popular values for this chart:
Key | Types |
---|---|
persistence.transcode.type (28) emptyDir | string |
boolean | |
string | |
string | |
string | |
string | |
persistence.config.globalMounts[].path (15) /config/Library/Application Support/Plex Media Server | string |
boolean | |
persistence.config.accessMode (1) ReadWriteOnce | string |
string | |
persistence.config.storageClass (1) ceph-block | string |
persistence.config.type (1) persistentVolumeClaim | string |
persistence.tmp.type (23) emptyDir | string |
string | |
string | |
boolean | |
persistence.media.globalMounts[].subPath (1) tv | string |
persistence.media.path (18) /mnt/Data/media | string |
persistence.media.server (17) 10.1.0.3 | string |
boolean | |
string | |
boolean | |
string | |
string | |
boolean | |
string | |
persistence.media.volumeSpec.nfs.path (1) /volume1/Media | string |
string | |
persistence.logs.globalMounts[].path (14) /config/Library/Application Support/Plex Media Server/Logs | string |
persistence.logs.type (14) emptyDir | string |
persistence.cache.globalMounts[].path (10) /config/Library/Application Support/Plex Media Server/Cache | string |
string | |
persistence.cache.existingClaim (8) plex-cache | string |
persistence.cache.accessMode (2) ReadWriteOnce | string |
string | |
persistence.cache.storageClass (2) ceph-block | string |
boolean | |
persistence.cache.type (1) persistentVolumeClaim | string |
persistence.plex-cache.existingClaim (6) plex-cache | string |
persistence.plex-cache.globalMounts[].path (6) /config/Library/Application Support/Plex Media Server/Cache | string |
string | |
boolean | |
string | |
persistence.music.path (2) ${NAS_SERVER_MEDIA_PATH}/Library/Media/Music | string |
persistence.music.server (2) ${NAS_SERVER_IP} | string |
boolean | |
persistence.music.existingClaim (1) cifs-music | string |
persistence.music.volumeSpec.nfs.path (1) /warehouse/media/music | string |
persistence.music.volumeSpec.nfs.server (1) ${NFS_SERVER} | string |
persistence.tv.globalMounts[].path (3) /library/tv | string |
boolean | |
persistence.tv.type (2) custom | string |
boolean | |
string | |
persistence.tv.path (1) /var/mechonis/data/media/tv | string |
persistence.tv.server (1) aionios.internal | string |
persistence.tv.volumeSpec.nfs.path (1) /warehouse/media/tv | string |
persistence.tv.volumeSpec.nfs.server (1) ${NFS_SERVER} | string |
string | |
persistence.config-cache.globalMounts[].path (2) /config/Library/Application Support/Plex Media Server/Cache | string |
persistence.movies.globalMounts[].path (2) /library/movies | string |
boolean | |
persistence.movies.existingClaim (1) cifs-movies | string |
string | |
persistence.movies.volumeSpec.nfs.path (1) /warehouse/media/movies | string |
persistence.movies.volumeSpec.nfs.server (1) ${NFS_SERVER} | string |
persistence.videos.globalMounts[].path (2) /media/videos | string |
boolean | |
persistence.videos.existingClaim (1) cifs-videos | string |
persistence.videos.path (1) ${NAS_SERVER_MEDIA_PATH}/Library/Media/Videos | string |
persistence.videos.server (1) ${NAS_SERVER_IP} | string |
string | |
persistence.config-logs.globalMounts[].path (1) /config/Library/Application Support/Plex Media Server/Logs | string |
persistence.config-logs.type (1) emptyDir | string |
boolean | |
persistence.data.hostPath (1) /home/simo/Media | string |
persistence.data.mountPath (1) /storage/media | string |
persistence.data.type (1) hostPath | string |
persistence.media-home.globalMounts[].path (1) /data/video/Home | string |
boolean | |
persistence.media-home.path (1) ${SECRET_NFS_MEDIA_HOME:=temp} | string |
persistence.media-home.server (1) ${SECRET_NFS_SERVER:=temp} | string |
string | |
persistence.media-music.existingClaim (1) media-music | string |
persistence.media-music.globalMounts[].path (1) /data/media/Music | string |
persistence.media-video.existingClaim (1) media-video | string |
persistence.media-video.globalMounts[].path (1) /data/media/Video | string |
string | |
boolean | |
persistence.movie.path (1) /var/mechonis/data/media/movies | string |
persistence.movie.server (1) aionios.internal | string |
string | |
persistence.optimized.existingClaim (1) plex-optimized-media | string |
persistence.optimized.globalMounts[].path (1) /media/plex/optimized | string |
persistence.pictures.existingClaim (1) cifs-pictures | string |
persistence.pictures.globalMounts[].path (1) /media/pictures | string |
persistence.turntablism.globalMounts[].path (1) /turntablism | string |
boolean | |
persistence.turntablism.path (1) ${NAS_SERVER_MEDIA_PATH}/Library/Media/Turntablism | string |
persistence.turntablism.server (1) ${NAS_SERVER_IP} | string |
string | |
controllers.plex.containers.app.env.TZ (18) ${TIMEZONE} | string |
controllers.plex.containers.app.env.PLEX_ADVERTISE_URL (15) https://plex.${SECRET_DOMAIN}:443,http://${CLUSTER_LB_PLEX}:32400 | string |
string | |
string | |
controllers.plex.containers.app.env.ALLOWED_NETWORKS (2) 192.168.0.0/16,10.42.0.0/16,10.43.0.0/16 | string |
controllers.plex.containers.app.env.ADVERTISE_IP (1) https://plex.${SECRET_DOMAIN},http://192.168.2.200:32400 | string |
string | |
string | |
string | |
controllers.plex.containers.app.env.PLEX_CLAIM (1) claim-UN9yxoVbnf6TdQv4g-zF | string |
string | |
controllers.plex.containers.app.env.PLEX_PREFERENCE_1 (1) AllowMediaDeletion=0 | string |
string | |
controllers.plex.containers.app.env.PLEX_PREFERENCE_3 (1) FriendlyName=Runnels | string |
controllers.plex.containers.app.env.PLEX_PREFERENCE_4 (1) LanNetworksBandwidth=${LAN_CIDR} | string |
controllers.plex.containers.app.env.PLEX_PREFERENCE_LAN (1) LanNetworksBandwidth=10.0.0.0/8 | string |
string | |
controllers.plex.containers.app.image.repository (18) ghcr.io/home-operations/plex | string |
controllers.plex.containers.app.image.tag (18) 1.42.1.10060@sha256:04563be281364ba2462285aacb2ca13d7ef7e1d0b19e1203f4c19b4a56840c5c | string |
string, number | |
string | |
number | |
string | |
number | |
number | |
number | |
boolean | |
boolean | |
number | |
string | |
number | |
number | |
number | |
number | |
boolean | |
boolean | |
number | |
string | |
number | |
number | |
number | |
number | |
boolean | |
number | |
number | |
string | |
number | |
boolean | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
number | |
string | |
number | |
number | |
controllers.plex.pod.securityContext.supplementalGroups[] (4) - "44" | number |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
controllers.main.containers.main.env.TZ (8) America/New_York | string |
controllers.main.containers.main.env.ALLOWED_NETWORKS (2) 10.1.0.0/255.255.255.0,10.5.0.0/255.255.255.0,10.1.10.0/255.255.255.0 | string |
string | |
string | |
controllers.main.containers.main.env.PLEX_ADVERTISE_URL (1) https://plex.${SECRET_DOMAIN}:443, http://192.168.42.54:32400 | string |
controllers.main.containers.main.image.repository (8) ghcr.io/onedr0p/plex-beta | string |
controllers.main.containers.main.image.tag (8) 1.41.3.9314-a0bfb8370@sha256:679db51b7226f8d04c4812d4885a02a51607727b0a5e1523c5a00c570112753e | string |
string | |
string | |
number, string | |
number | |
string | |
number, string | |
number | |
boolean | |
boolean | |
number | |
string | |
number | |
number | |
number | |
number | |
boolean | |
boolean | |
number | |
string | |
number | |
number | |
number | |
number | |
boolean | |
boolean | |
string | |
boolean | |
number | |
number | |
number | |
controllers.main.pod.securityContext.supplementalGroups[] (6) - "44" | number |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
controllers.main.statefulset.volumeClaimTemplates[].storageClass (2) synology-csi-retain | string |
controllers.main.type (2) statefulset | string |
string | |
number | |
string | |
number | |
string | |
boolean | |
number | |
string | |
boolean | |
number | |
string | |
boolean | |
number | |
string | |
boolean | |
boolean | |
number | |
string | |
boolean | |
number | |
string | |
service.app.type (18) LoadBalancer | string |
service.app.annotations."io.cilium/lb-ipam-ips" (12) 192.168.20.87 | string |
service.app.annotations."lbipam.cilium.io/ips" (5) ${CLUSTER_LB_PLEX} | string |
string | |
service.app.annotations."external-dns.alpha.kubernetes.io/hostname" (1) {{ .Release.Name }}.${SECRET_DOMAIN} | string |
string | |
string | |
service.app.ipFamilyPolicy (1) PreferDualStack | string |
string | |
number | |
service.main.type (9) LoadBalancer | string |
string | |
string | |
string | |
string | |
service.main.loadBalancerIP (1) ${SVC_PLEX_ADDR} | string |
string | |
string | |
service.ts.loadBalancerClass (1) tailscale | string |
number | |
service.ts.type (1) LoadBalancer | string |
number, string | |
string | |
number, string | |
number, string | |
defaultPodOptions.securityContext.supplementalGroups[] (14) - "44" | number |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
defaultPodOptions.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].key (1) intel.feature.node.kubernetes.io/gpu | string |
string | |
string | |
string | |
ingress.app.className (15) external | string |
ingress.app.hosts[].host (15) {{ .Release.Name }}.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
ingress.app.annotations."external-dns.alpha.kubernetes.io/target" (12) external.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
string | |
string | |
string | |
ingress.app.annotations."gethomepage.dev/widget.key" (4) {{ `{{HOMEPAGE_VAR_PLEX_TOKEN}}` }} | string |
string | |
ingress.app.annotations."gethomepage.dev/widget.url" (4) http://plex.media.svc.cluster.local:32400 | string |
string | |
string | |
ingress.app.annotations."nginx.ingress.kubernetes.io/server-snippet" (2) location ~ ^/library/streams {
proxy_set_header Range "";
proxy_pass http://plex.media.svc.cluster.local:32400;
proxy_http_version 1.1;
}
| string |
string | |
string | |
ingress.app.annotations."gethomepage.dev/href" (1) https://{{ .Release.Name }}.${SECRET_DOMAIN} | string |
ingress.app.annotations."gethomepage.dev/pod-selector" (1) app.kubernetes.io/name=plex | string |
ingress.app.annotations."nginx.ingress.kubernetes.io/configuration-snippet" (1) ${THEME_PARK_SNIPPET} | string |
ingress.app.tls[].hosts[] (5) - {{ .Release.Name }}.${SECRET_DOMAIN} | string |
ingress.app.tls[].secretName (1) certificate-haynesnetwork | string |
boolean | |
boolean | |
ingress.main.hosts[].host (10) plex.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
ingress.main.tls[].hosts[] (9) - plex.${SECRET_DOMAIN} | string |
ingress.main.tls[].secretName (2) letsencrypt-plex | string |
ingress.main.className (7) external | string |
string | |
ingress.main.annotations."external-dns.alpha.kubernetes.io/target" (5) external.${SECRET_DOMAIN} | string |
ingress.main.annotations."hajimari.io/icon" (3) simple-icons:plex | string |
ingress.main.annotations."nginx.ingress.kubernetes.io/configuration-snippet" (3) proxy_set_header Accept-Encoding "";
sub_filter '</head>' '<link rel="stylesheet" type="text/css" href="https://theme-park.dev/css/base/plex/nord.css"></head>';
sub_filter_once on;
| string |
string | |
string | |
string | |
string | |
ingress.main.annotations."gethomepage.dev/description" (1) Plex Media Server | string |
string | |
string | |
ingress.main.annotations."gethomepage.dev/href" (1) https://plex.${SECRET_DOMAIN}/web/ | string |
string | |
string | |
ingress.main.annotations."nginx.ingress.kubernetes.io/whitelist-source-range" (1) 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 | string |
string | |
ingress.local.className (2) internal | string |
ingress.local.hosts[].host (2) plex-local.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
ingress.local.annotations."external-dns.alpha.kubernetes.io/target" (1) internal.${SECRET_DOMAIN} | string |
ingress.local.annotations."nginx.ingress.kubernetes.io/configuration-snippet" (1) ${THEME_PARK_SNIPPET} | string |
ingress.external.annotations."external-dns.alpha.kubernetes.io/target" (1) external.zebernst.dev | string |
string | |
ingress.external.annotations."nginx.ingress.kubernetes.io/configuration-snippet" (1) # App root redirect: If a request to / comes in -> 302 redirect to the plex landing page
# (but only if it doesn't contain the X-Plex-Device-Name header or query argument)
# This retains API endpoint access for official Plex clients and authenticated sessions.
set $r "";
if ($http_x_plex_device_name = '') { set $r "Y"; } # for web and tv clients (header)
if ($arg_X-Plex-Device-Name = '') { set $r "${r}Y"; } # for iOS clients (query argument)
if ($r = YY) {
rewrite ^/$ https://$http_host/web/index.html;
}
gzip on;
gzip_vary on;
gzip_min_length 256;
gzip_proxied any;
gzip_comp_level 9;
gzip_disable "MSIE [1-6]\.";
gzip_types
text/css
text/xml
text/plain
text/javascript
text/cache-manifest
text/x-cross-domain-policy
application/javascript
application/x-javascript
application/json
application/manifest+json
application/xml
application/xml+rss
application/xhtml+xml
application/rss+xml
application/rdf+xml
application/atom+xml
application/atom_xml
application/geo+json
application/ttf
application/x-ttf
application/x-font-ttf
application/x-font-otf
application/x-font-truetype
application/x-font-opentype
application/x-web-app-manifest+json
application/vnd.ms-fontobject
font/eot
font/otf
font/ttf
font/opentype
image/svg+xml
image/x-icon
image/bmp;
send_timeout 3600; # some players don't reopen a socket and playback stops totally instead of resuming after an extended pause (e.g. Chrome)
proxy_set_header Sec-Websocket-Extensions $http_sec_websocket_extensions;
proxy_set_header Sec-Websocket-Key $http_sec_websocket_key;
proxy_set_header Sec-Websocket-Protocol $http_sec_websocket_protocol;
proxy_set_header Sec-Websocket-Version $http_sec_websocket_version;
proxy_set_header Accept-Encoding "";
add_header Referrer-Policy "same-origin" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options sameorigin;
add_header X-XSS-Protection "1; mode=block" always;
| string |
ingress.external.className (1) external | string |
ingress.external.hosts[].host (1) plex.zebernst.dev | string |
string | |
string | |
string | |
image.repository (2) ghcr.io/onedr0p/plex | string |
image.tag (2) 1.42.1.10060@sha256:92d48d97cc896e0b771c64f715fc68fed931a8d80506b503d84cfdf1d81bff92 | string |
number | |
podSecurityContext.fsGroupChangePolicy (2) OnRootMismatch | string |
number | |
number | |
podSecurityContext.supplementalGroups[] (2) - "44" | number |
string | |
number | |
string | |
string | |
number | |
affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].key (1) feature.node.kubernetes.io/custom-intel-gpu | string |
string | |
string | |
configMaps.plex-gatus-ep.data."config.yaml" (1) endpoints:
- name: "plex"
group: external
url: "https://plex.${SECRET_DOMAIN}/web/index.html"
interval: 1m
client:
dns-resolver: tcp://1.1.1.1:53
conditions:
- "[STATUS] == 200"
alerts:
- type: pushover
- name: "plex-local"
group: internal
url: "https://plex-local.${SECRET_DOMAIN}/web/index.html"
interval: 1m
conditions:
- "[STATUS] == 200"
alerts:
- type: pushover
| string |
string | |
string | |
string | |
dnsPolicy (1) ClusterFirstWithHostNet | string |
env.ADVERTISE_IP (1) http://${SVC_PLEX_ADDR}:32400/ | string |
env.ALLOWED_NETWORKS (1) 10.0.0.0/8,172.16.0.0/16 | string |
env.TZ (1) ${TIMEZONE} | string |
string | |
hostNetwork (1) true | boolean |
route.app.hostnames[] (1) - {{ .Release.Name }}.lumu.au | string |
route.app.parentRefs[].name (1) external | string |
route.app.parentRefs[].namespace (1) flux-system | string |
string | |
string | |
route.app.rules[].backendRefs[].port (1) 32400 | number |
string | |
route.app.rules[].filters[].type (1) RequestHeaderModifier | string |
string | |
route.app.rules[].matches[].path.value (1) /library/streams | string |