k3s-cluster/kubernetes/main/apps/media/plex/app/helm-release.yaml

139 lines
3.9 KiB
YAML
Raw Normal View History

apiVersion: helm.toolkit.fluxcd.io/v2
2023-04-11 00:30:57 -04:00
kind: HelmRelease
metadata:
name: plex
namespace: media
spec:
interval: 5m
chart:
spec:
chart: app-template
2024-12-22 12:35:03 -05:00
version: 3.5.1
2023-04-11 00:30:57 -04:00
sourceRef:
kind: HelmRepository
name: bjws-charts
namespace: flux-system
values:
controllers:
plex:
containers:
app:
image:
repository: ghcr.io/onedr0p/plex
tag: 1.41.3.9314-a0bfb8370
env:
TZ: America/New_York
2024-12-22 12:35:03 -05:00
PLEX_ADVERTISE_URL: https://plex.${SECRET_NEW_DOMAIN}:443,http://192.168.10.70:32400
PLEX_NO_AUTH_NETWORKS: 192.168.10.0/24,192.168.20.0/24,192.168.1.0/24,10.0.0.0/16,10.43.0.0/16
probes:
liveness: &probes
enabled: true
custom: true
spec:
httpGet:
path: /identity
port: 32400
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness: *probes
startup:
enabled: true
spec:
failureThreshold: 30
periodSeconds: 10
2023-04-11 13:13:04 -04:00
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities: { drop: ["ALL"] }
resources:
# requests:
# cpu: 100m
limits:
gpu.intel.com/i915: 1
memory: 16Gi
2023-04-11 00:30:57 -04:00
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"
2023-04-11 13:33:55 -04:00
service:
app:
controller: plex
2024-12-22 12:35:03 -05:00
type: LoadBalancer
annotations:
io.cilium/lb-ipam-ips: 192.168.10.70
2023-04-11 13:33:55 -04:00
ports:
http:
port: 32400
2023-04-11 00:30:57 -04:00
ingress:
app:
2023-04-11 00:30:57 -04:00
annotations:
cert-manager.io/cluster-issuer: letsencrypt-production
2023-04-13 01:21:06 -04:00
traefik.ingress.kubernetes.io/router.entrypoints: websecure
2024-12-22 13:41:33 -05:00
#className: external
2023-04-11 00:30:57 -04:00
hosts:
2024-12-22 12:35:03 -05:00
- host: "plex.${SECRET_NEW_DOMAIN}"
2023-04-11 00:30:57 -04:00
paths:
- path: /
service:
identifier: app
port: http
2023-04-11 00:30:57 -04:00
persistence:
config:
2024-12-22 13:38:02 -05:00
#existingClaim: plex
type: persistentVolumeClaim
size: 100Gi
2024-12-22 13:38:02 -05:00
retain: true
storageClass: openebs-zfs-mainpool
accessMode: ReadWriteOnce
globalMounts:
- path: /config/Library/Application Support/Plex Media Server
# Separate PVC for cache to avoid backing up cache files
cache:
type: persistentVolumeClaim
size: 15Gi
retain: true
2024-12-22 12:35:03 -05:00
storageClass: openebs-zfs-mainpool
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
# Store video thumbnails somewhere else so they're not backed up
server-media:
type: hostPath
hostPath: /mnt/MainPool/Media/Plex/Media
globalMounts:
- path: /config/Library/Application Support/Plex Media Server/Media
tmp:
type: emptyDir
transcode:
type: emptyDir
globalMounts:
- path: /transcode
media:
2023-04-11 00:30:57 -04:00
type: hostPath
hostPath: /mnt/MainPool/Media/Media
globalMounts:
2024-12-22 12:35:03 -05:00
- path: /storage/Media
readOnly: true