Sanitized mirror from private repository - 2026-04-05 08:31:50 UTC
This commit is contained in:
BIN
olares/plex-chart.tgz
Normal file
BIN
olares/plex-chart.tgz
Normal file
Binary file not shown.
6
olares/plex-chart/Chart.yaml
Normal file
6
olares/plex-chart/Chart.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
apiVersion: v2
|
||||
appVersion: 1.41.4.9463
|
||||
description: Plex Media Server with NVIDIA GPU hardware transcoding
|
||||
name: plex
|
||||
type: application
|
||||
version: 1.0.0
|
||||
81
olares/plex-chart/OlaresManifest.yaml
Normal file
81
olares/plex-chart/OlaresManifest.yaml
Normal file
@@ -0,0 +1,81 @@
|
||||
---
|
||||
olaresManifest.version: "0.10.0"
|
||||
olaresManifest.type: app
|
||||
apiVersion: 'v2'
|
||||
metadata:
|
||||
name: plex
|
||||
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/plex-logo.png
|
||||
description: Stream movies, TV, music, and more from your personal media library.
|
||||
appid: plex
|
||||
title: Plex Media Server
|
||||
version: "1.0.0"
|
||||
categories:
|
||||
- Entertainment
|
||||
|
||||
entrances:
|
||||
- name: plexweb
|
||||
port: 32400
|
||||
host: plex
|
||||
title: Plex
|
||||
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/plex-logo.png
|
||||
openMethod: window
|
||||
|
||||
spec:
|
||||
versionName: "1.41.4.9463"
|
||||
fullDescription: |
|
||||
## OVERVIEW ##
|
||||
Plex Media Server organizes your video, music, and photo collections and
|
||||
streams them to all of your screens. This chart deploys Plex with NVIDIA
|
||||
GPU hardware transcoding (NVENC/NVDEC) using the RTX 5090.
|
||||
|
||||
Media is mounted read-only from Atlantis NAS via NFS at /media.
|
||||
Transcoding uses a RAM-backed tmpfs for maximum performance.
|
||||
|
||||
## Libraries ##
|
||||
After installation, add libraries pointing to:
|
||||
- Movies: /media/movies
|
||||
- TV Shows: /media/tv
|
||||
- Anime: /media/anime
|
||||
- Music: /media/music
|
||||
- Audiobooks: /media/audiobooks
|
||||
|
||||
## Hardware Transcoding ##
|
||||
Enable in Settings > Transcoder > "Use hardware acceleration when available".
|
||||
|
||||
developer: Plex, Inc.
|
||||
website: https://www.plex.tv/
|
||||
sourceCode: https://github.com/plexinc/pms-docker
|
||||
submitter: vishinator
|
||||
locale:
|
||||
- en-US
|
||||
license:
|
||||
- text: GPL-2.0
|
||||
url: https://github.com/plexinc/pms-docker/blob/master/LICENSE
|
||||
|
||||
limitedCpu: "4"
|
||||
requiredCpu: 500m
|
||||
requiredDisk: 50Mi
|
||||
limitedDisk: 50Gi
|
||||
limitedMemory: 8Gi
|
||||
requiredMemory: 2Gi
|
||||
requiredGpu: 1Gi
|
||||
limitedGpu: 4Gi
|
||||
|
||||
supportArch:
|
||||
- amd64
|
||||
onlyAdmin: true
|
||||
|
||||
permission:
|
||||
appData: true
|
||||
appCache: true
|
||||
|
||||
options:
|
||||
apiTimeout: 0
|
||||
appScope:
|
||||
clusterScoped: true
|
||||
appRef:
|
||||
- plex
|
||||
dependencies:
|
||||
- name: olares
|
||||
version: '>=1.12.0-0'
|
||||
type: system
|
||||
2
olares/plex-chart/owners
Normal file
2
olares/plex-chart/owners
Normal file
@@ -0,0 +1,2 @@
|
||||
owners:
|
||||
- 'vishinator'
|
||||
103
olares/plex-chart/templates/deployment.yaml
Normal file
103
olares/plex-chart/templates/deployment.yaml
Normal file
@@ -0,0 +1,103 @@
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: plex
|
||||
namespace: "{{ .Release.Namespace }}"
|
||||
labels:
|
||||
app: plex
|
||||
io.kompose.service: plex
|
||||
annotations:
|
||||
applications.app.bytetrade.io/gpu-inject: "true"
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels:
|
||||
app: plex
|
||||
io.kompose.service: plex
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: plex
|
||||
io.kompose.service: plex
|
||||
io.kompose.network/chrome-default: "true"
|
||||
spec:
|
||||
containers:
|
||||
- name: plex
|
||||
image: "{{ .Values.image }}"
|
||||
env:
|
||||
- name: PUID
|
||||
value: "1000"
|
||||
- name: PGID
|
||||
value: "1000"
|
||||
- name: TZ
|
||||
value: "{{ .Values.timezone }}"
|
||||
- name: VERSION
|
||||
value: "docker"
|
||||
- name: NVIDIA_VISIBLE_DEVICES
|
||||
value: "all"
|
||||
- name: NVIDIA_DRIVER_CAPABILITIES
|
||||
value: "all"
|
||||
ports:
|
||||
- containerPort: 32400
|
||||
name: plex-web
|
||||
startupProbe:
|
||||
tcpSocket:
|
||||
port: 32400
|
||||
failureThreshold: 30
|
||||
periodSeconds: 10
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /identity
|
||||
port: 32400
|
||||
initialDelaySeconds: 10
|
||||
timeoutSeconds: 10
|
||||
periodSeconds: 30
|
||||
failureThreshold: 5
|
||||
resources:
|
||||
limits:
|
||||
cpu: "4"
|
||||
memory: 8Gi
|
||||
requests:
|
||||
cpu: 500m
|
||||
memory: 2Gi
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /config
|
||||
- name: media
|
||||
mountPath: /media
|
||||
readOnly: true
|
||||
- name: transcode
|
||||
mountPath: /transcode
|
||||
volumes:
|
||||
- name: config
|
||||
hostPath:
|
||||
path: "{{ .Values.configPath }}"
|
||||
type: DirectoryOrCreate
|
||||
- name: media
|
||||
hostPath:
|
||||
path: "{{ .Values.mediaPath }}"
|
||||
type: Directory
|
||||
- name: transcode
|
||||
emptyDir:
|
||||
medium: Memory
|
||||
sizeLimit: "{{ .Values.transcodeSizeLimit }}"
|
||||
restartPolicy: Always
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: plex
|
||||
namespace: "{{ .Release.Namespace }}"
|
||||
labels:
|
||||
io.kompose.service: plex
|
||||
spec:
|
||||
ports:
|
||||
- name: plex-web
|
||||
port: 32400
|
||||
targetPort: 32400
|
||||
selector:
|
||||
io.kompose.service: plex
|
||||
6
olares/plex-chart/values.yaml
Normal file
6
olares/plex-chart/values.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
image: lscr.io/linuxserver/plex:latest
|
||||
mediaPath: /mnt/atlantis_media
|
||||
configPath: /var/olares/userdata/plex-config
|
||||
transcodeSizeLimit: 4Gi
|
||||
gpuMemory: 4096
|
||||
timezone: America/Los_Angeles
|
||||
6
olares/plex-tmp/Chart.yaml
Normal file
6
olares/plex-tmp/Chart.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
apiVersion: v2
|
||||
appVersion: 1.41.4.9463
|
||||
description: Plex Media Server with NVIDIA GPU hardware transcoding
|
||||
name: plex
|
||||
type: application
|
||||
version: 1.0.0
|
||||
81
olares/plex-tmp/OlaresManifest.yaml
Normal file
81
olares/plex-tmp/OlaresManifest.yaml
Normal file
@@ -0,0 +1,81 @@
|
||||
---
|
||||
olaresManifest.version: "0.10.0"
|
||||
olaresManifest.type: app
|
||||
apiVersion: 'v2'
|
||||
metadata:
|
||||
name: plex
|
||||
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/plex-logo.png
|
||||
description: Stream movies, TV, music, and more from your personal media library.
|
||||
appid: plex
|
||||
title: Plex Media Server
|
||||
version: "1.0.0"
|
||||
categories:
|
||||
- Entertainment
|
||||
|
||||
entrances:
|
||||
- name: plexweb
|
||||
port: 32400
|
||||
host: plex
|
||||
title: Plex
|
||||
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/plex-logo.png
|
||||
openMethod: window
|
||||
|
||||
spec:
|
||||
versionName: "1.41.4.9463"
|
||||
fullDescription: |
|
||||
## OVERVIEW ##
|
||||
Plex Media Server organizes your video, music, and photo collections and
|
||||
streams them to all of your screens. This chart deploys Plex with NVIDIA
|
||||
GPU hardware transcoding (NVENC/NVDEC) using the RTX 5090.
|
||||
|
||||
Media is mounted read-only from Atlantis NAS via NFS at /media.
|
||||
Transcoding uses a RAM-backed tmpfs for maximum performance.
|
||||
|
||||
## Libraries ##
|
||||
After installation, add libraries pointing to:
|
||||
- Movies: /media/movies
|
||||
- TV Shows: /media/tv
|
||||
- Anime: /media/anime
|
||||
- Music: /media/music
|
||||
- Audiobooks: /media/audiobooks
|
||||
|
||||
## Hardware Transcoding ##
|
||||
Enable in Settings > Transcoder > "Use hardware acceleration when available".
|
||||
|
||||
developer: Plex, Inc.
|
||||
website: https://www.plex.tv/
|
||||
sourceCode: https://github.com/plexinc/pms-docker
|
||||
submitter: vishinator
|
||||
locale:
|
||||
- en-US
|
||||
license:
|
||||
- text: GPL-2.0
|
||||
url: https://github.com/plexinc/pms-docker/blob/master/LICENSE
|
||||
|
||||
limitedCpu: "4"
|
||||
requiredCpu: 500m
|
||||
requiredDisk: 50Mi
|
||||
limitedDisk: 50Gi
|
||||
limitedMemory: 8Gi
|
||||
requiredMemory: 2Gi
|
||||
requiredGpu: 1Gi
|
||||
limitedGpu: 4Gi
|
||||
|
||||
supportArch:
|
||||
- amd64
|
||||
onlyAdmin: true
|
||||
|
||||
permission:
|
||||
appData: true
|
||||
appCache: true
|
||||
|
||||
options:
|
||||
apiTimeout: 0
|
||||
appScope:
|
||||
clusterScoped: true
|
||||
appRef:
|
||||
- plex
|
||||
dependencies:
|
||||
- name: olares
|
||||
version: '>=1.12.0-0'
|
||||
type: system
|
||||
2
olares/plex-tmp/owners
Normal file
2
olares/plex-tmp/owners
Normal file
@@ -0,0 +1,2 @@
|
||||
owners:
|
||||
- 'vishinator'
|
||||
103
olares/plex-tmp/templates/deployment.yaml
Normal file
103
olares/plex-tmp/templates/deployment.yaml
Normal file
@@ -0,0 +1,103 @@
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: plex
|
||||
namespace: "{{ .Release.Namespace }}"
|
||||
labels:
|
||||
app: plex
|
||||
io.kompose.service: plex
|
||||
annotations:
|
||||
applications.app.bytetrade.io/gpu-inject: "true"
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels:
|
||||
app: plex
|
||||
io.kompose.service: plex
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: plex
|
||||
io.kompose.service: plex
|
||||
io.kompose.network/chrome-default: "true"
|
||||
spec:
|
||||
containers:
|
||||
- name: plex
|
||||
image: "{{ .Values.image }}"
|
||||
env:
|
||||
- name: PUID
|
||||
value: "1000"
|
||||
- name: PGID
|
||||
value: "1000"
|
||||
- name: TZ
|
||||
value: "{{ .Values.timezone }}"
|
||||
- name: VERSION
|
||||
value: "docker"
|
||||
- name: NVIDIA_VISIBLE_DEVICES
|
||||
value: "all"
|
||||
- name: NVIDIA_DRIVER_CAPABILITIES
|
||||
value: "all"
|
||||
ports:
|
||||
- containerPort: 32400
|
||||
name: plex-web
|
||||
startupProbe:
|
||||
tcpSocket:
|
||||
port: 32400
|
||||
failureThreshold: 30
|
||||
periodSeconds: 10
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /identity
|
||||
port: 32400
|
||||
initialDelaySeconds: 10
|
||||
timeoutSeconds: 10
|
||||
periodSeconds: 30
|
||||
failureThreshold: 5
|
||||
resources:
|
||||
limits:
|
||||
cpu: "4"
|
||||
memory: 8Gi
|
||||
requests:
|
||||
cpu: 500m
|
||||
memory: 2Gi
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /config
|
||||
- name: media
|
||||
mountPath: /media
|
||||
readOnly: true
|
||||
- name: transcode
|
||||
mountPath: /transcode
|
||||
volumes:
|
||||
- name: config
|
||||
hostPath:
|
||||
path: "{{ .Values.configPath }}"
|
||||
type: DirectoryOrCreate
|
||||
- name: media
|
||||
hostPath:
|
||||
path: "{{ .Values.mediaPath }}"
|
||||
type: Directory
|
||||
- name: transcode
|
||||
emptyDir:
|
||||
medium: Memory
|
||||
sizeLimit: "{{ .Values.transcodeSizeLimit }}"
|
||||
restartPolicy: Always
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: plex
|
||||
namespace: "{{ .Release.Namespace }}"
|
||||
labels:
|
||||
io.kompose.service: plex
|
||||
spec:
|
||||
ports:
|
||||
- name: plex-web
|
||||
port: 32400
|
||||
targetPort: 32400
|
||||
selector:
|
||||
io.kompose.service: plex
|
||||
6
olares/plex-tmp/values.yaml
Normal file
6
olares/plex-tmp/values.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
image: lscr.io/linuxserver/plex:latest
|
||||
mediaPath: /mnt/atlantis_media
|
||||
configPath: /var/olares/userdata/plex-config
|
||||
transcodeSizeLimit: 4Gi
|
||||
gpuMemory: 4096
|
||||
timezone: America/Los_Angeles
|
||||
129
olares/plex.yaml
Normal file
129
olares/plex.yaml
Normal file
@@ -0,0 +1,129 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: plex
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: REDACTED_APP_PASSWORD
|
||||
metadata:
|
||||
name: plex-config-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 50Gi
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
storageClassName: local
|
||||
local:
|
||||
path: /var/olares/userdata/plex-config
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- olares
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: plex-config
|
||||
namespace: plex
|
||||
spec:
|
||||
storageClassName: local
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 50Gi
|
||||
volumeName: plex-config-pv
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: plex
|
||||
namespace: plex
|
||||
labels:
|
||||
app: plex
|
||||
applications.app.bytetrade.io/name: plex
|
||||
applications.app.bytetrade.io/owner: vishinator
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels:
|
||||
app: plex
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: plex
|
||||
applications.app.bytetrade.io/name: plex
|
||||
applications.app.bytetrade.io/owner: vishinator
|
||||
io.bytetrade.app: "true"
|
||||
spec:
|
||||
runtimeClassName: nvidia
|
||||
containers:
|
||||
- name: plex
|
||||
image: lscr.io/linuxserver/plex:latest
|
||||
env:
|
||||
- name: PUID
|
||||
value: "1000"
|
||||
- name: PGID
|
||||
value: "1000"
|
||||
- name: TZ
|
||||
value: "America/Los_Angeles"
|
||||
- name: VERSION
|
||||
value: "docker"
|
||||
- name: NVIDIA_VISIBLE_DEVICES
|
||||
value: "all"
|
||||
- name: NVIDIA_DRIVER_CAPABILITIES
|
||||
value: "all"
|
||||
ports:
|
||||
- containerPort: 32400
|
||||
name: plex-web
|
||||
resources:
|
||||
limits:
|
||||
nvidia.com/gpu: "1"
|
||||
nvidia.com/gpumem: "4096"
|
||||
memory: "8Gi"
|
||||
requests:
|
||||
cpu: "500m"
|
||||
memory: "2Gi"
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /config
|
||||
- name: media
|
||||
mountPath: /media
|
||||
readOnly: true
|
||||
- name: transcode
|
||||
mountPath: /transcode
|
||||
volumes:
|
||||
- name: config
|
||||
persistentVolumeClaim:
|
||||
claimName: plex-config
|
||||
- name: media
|
||||
hostPath:
|
||||
path: /mnt/atlantis_media
|
||||
- name: transcode
|
||||
emptyDir:
|
||||
medium: Memory
|
||||
sizeLimit: 4Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: plex
|
||||
namespace: plex
|
||||
spec:
|
||||
type: NodePort
|
||||
externalIPs:
|
||||
- 192.168.0.145
|
||||
selector:
|
||||
app: plex
|
||||
ports:
|
||||
- port: 32400
|
||||
targetPort: 32400
|
||||
nodePort: 32400
|
||||
name: plex-web
|
||||
Reference in New Issue
Block a user