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

137 lines
3.7 KiB
YAML
Raw Normal View History

apiVersion: helm.toolkit.fluxcd.io/v2
2023-04-11 04:30:57 +00:00
kind: HelmRelease
metadata:
name: plex
namespace: media
spec:
interval: 5m
chart:
spec:
chart: app-template
version: 3.5.1
2023-04-11 04:30:57 +00:00
sourceRef:
kind: HelmRepository
name: bjws-charts
namespace: flux-system
values:
controllers:
plex:
containers:
app:
image:
repository: ghcr.io/onedr0p/plex
tag: 1.40.4.8679-424562606
env:
TZ: America/New_York
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
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 17:13:04 +00:00
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities: { drop: ["ALL"] }
resources:
# requests:
# cpu: 100m
limits:
gpu.intel.com/i915: 1
memory: 16Gi
2023-04-11 04:30:57 +00: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 17:33:55 +00:00
service:
app:
controller: plex
# type: LoadBalancer
# annotations:
# io.cilium/lb-ipam-ips: 192.168.10.71
2023-04-11 17:33:55 +00:00
ports:
http:
port: 32400
2023-04-11 04:30:57 +00:00
ingress:
app:
2023-04-11 04:30:57 +00:00
annotations:
cert-manager.io/cluster-issuer: letsencrypt-production
2023-04-13 05:21:06 +00:00
traefik.ingress.kubernetes.io/router.entrypoints: websecure
className: external
2023-04-11 04:30:57 +00:00
hosts:
- host: "kube-plex.${SECRET_NEW_DOMAIN}"
2023-04-11 04:30:57 +00:00
paths:
- path: /
service:
identifier: app
port: http
2023-04-11 04:30:57 +00:00
persistence:
config:
#existingClaim: plex
# TODO: If setting up Plex for the first time, you'll want to add the globalMounts section
type: persistentVolumeClaim
size: 15Gi
retain: true
storageClass: mainpool-hostpath
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
storageClass: mainpool-hostpath
accessMode: ReadWriteOnce
globalMounts:
- path: /config/Library/Application Support/Plex Media Server/Cache
2023-04-11 04:30:57 +00:00
logs:
type: emptyDir
globalMounts:
- path: /config/Library/Application Support/Plex Media Server/Logs
tmp:
type: emptyDir
transcode:
type: emptyDir
media:
2023-04-11 04:30:57 +00:00
type: hostPath
hostPath: /mnt/MainPool/Media/Media
globalMounts:
- path: /media
readOnly: true