feat(plex): request intel gpu, use onedr0p plex image, switch to latest app-template chart

This commit is contained in:
SeanOMik 2024-08-14 16:26:24 -04:00
parent 924c433a47
commit 4d0b63ca05
1 changed files with 102 additions and 52 deletions

View File

@ -8,79 +8,129 @@ spec:
chart: chart:
spec: spec:
chart: app-template chart: app-template
version: 1.3.x version: 3.3.2
sourceRef: sourceRef:
kind: HelmRepository kind: HelmRepository
name: bjws-charts name: bjws-charts
namespace: flux-system namespace: flux-system
values: values:
controllers:
plex:
containers:
app:
image:
repository: ghcr.io/onedr0p/plex
tag: 1.40.4.8679-424562606
image: env:
repository: lscr.io/linuxserver/plex TZ: America/New_York
tag: "1.40.4" PLEX_ADVERTISE_URL: https://kube-plex.${SECRET_NEW_DOMAIN}:443,http://192.168.10.71:32400
PLEX_NO_AUTH_NETWORKS: 192.168.10.0/24,192.168.20.0/24,10.0.0.0/16,10.43.0.0/16
env: probes:
TZ: "America/New_York" liveness: &probes
PUID: "1000" enabled: true
PGID: "1000" custom: true
VERSION: "docker" spec:
httpGet:
path: /identity
port: 32400
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness: *probes
startup:
enabled: true
spec:
failureThreshold: 30
periodSeconds: 10
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities: { drop: ["ALL"] }
resources:
# requests:
# cpu: 100m
limits:
gpu.intel.com/i915: 1
memory: 16Gi
defaultPodOptions:
securityContext:
runAsNonRoot: true
runAsUser: 10000
runAsGroup: 10000
fsGroup: 10000
fsGroupChangePolicy: OnRootMismatch
#supplementalGroups: [44, 10000]
#seccompProfile: { type: RuntimeDefault }
nodeSelector:
intel.feature.node.kubernetes.io/gpu: "true"
service: service:
main: app:
type: LoadBalancer controller: plex
# type: LoadBalancer
annotations: # annotations:
metallb.universe.tf/loadBalancerIPs: "192.168.10.70" # io.cilium/lb-ipam-ips: 192.168.10.71
metallb.universe.tf/allow-shared-ip: "main-ip-192.168.10.70"
ports: ports:
http: http:
port: 32400 port: 32400
targetPort: 32400
probes:
liveness:
enabled: false
ingress: ingress:
main: app:
enabled: true
annotations: annotations:
cert-manager.io/cluster-issuer: letsencrypt-production cert-manager.io/cluster-issuer: letsencrypt-production
traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.entrypoints: websecure
className: external
hosts: hosts:
- host: &host "plex.${SECRET_NEW_DOMAIN}" - host: "kube-plex.${SECRET_NEW_DOMAIN}"
paths: paths:
- path: / - path: /
pathType: Prefix service:
tls: identifier: app
- hosts: port: http
- *host
persistence: persistence:
config: config:
enabled: true #existingClaim: plex
type: hostPath # TODO: If setting up Plex for the first time, you'll want to add the globalMounts section
hostPath: /mnt/MainPool/Kubernetes/plex type: persistentVolumeClaim
mountPath: /config size: 15Gi
retain: true
storageClass: mainpool-hostpath
accessMode: ReadWriteOnce
globalMounts:
- path: /config/Library/Application Support/Plex Media Server
storage: # Separate PVC for cache to avoid backing up cache files
enabled: true cache:
type: persistentVolumeClaim
size: 15Gi
retain: true
storageClass: mainpool-hostpath
accessMode: ReadWriteOnce
globalMounts:
- path: /config/Library/Application Support/Plex Media Server/Cache
logs:
type: emptyDir
globalMounts:
- path: /config/Library/Application Support/Plex Media Server/Logs
tmp:
type: emptyDir
transcode:
type: emptyDir
media:
type: hostPath type: hostPath
hostPath: /mnt/MainPool/Media/Media hostPath: /mnt/MainPool/Media/Media
mountPath: /storage/Media globalMounts:
- path: /media
# transcodes: readOnly: true
# enabled: true
# type: pvc
# accessMode: ReadWriteOnce
# size: 40Gi
# mountPath: /transcode
resources:
requests:
memory: 720Mi
limits:
memory: 5000Mi