This commit is contained in:
2024-05-22 12:49:28 -05:00
commit 35b77bb0df
219 changed files with 9997 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
apiVersion: v2
name: plex
version: 0.0.1
sources:
- https://www.plex.tv/
- https://github.com/k8s-home-lab/helm-charts/tree/master/charts/stable/plex
dependencies:
- name: plex
version: 7.1.4
repository: https://k8s-home-lab.github.io/helm-charts/
appVersion: 1.40.0.7998-c29d4c0c8

View File

@@ -0,0 +1,40 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: plex-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: storage
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
volumeName: plex-nfs-storage
storageClassName: nfs-client
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: plex-config
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: storage
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: {{ .Values.storage.config.storageSize }}
storageClassName: {{ .Values.storage.config.storageClassName }}
volumeMode: {{ .Values.storage.config.volumeMode }}

View File

@@ -0,0 +1,25 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: plex-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: storage
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs-client
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
nfs:
path: {{ .Values.storage.media.nfs.path }}
server: {{ .Values.storage.media.nfs.server }}
mountOptions:
- vers=4
- minorversion=1
- noac

View File

@@ -0,0 +1,78 @@
plex:
image:
repository: ghcr.io/onedr0p/plex
tag: 1.40.2.8395-c67dce28e
env:
ADVERTISE_IP: "https://plex.alexlebens.net:443/"
ALLOWED_NETWORKS: "10.0.0.0/8,192.168.1.0/24"
service:
main:
primary: true
type: LoadBalancer
annotations:
metallb.universe.tf/allow-shared-ip: "external"
externalIPs:
- 192.168.1.17
- 192.168.1.16
- 192.168.1.15
ports:
http:
port: 32400
ingress:
main:
enabled: true
ingressClassName: traefik
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
cert-manager.io/cluster-issuer: letsencrypt-issuer
hosts:
- host: plex.alexlebens.net
paths:
- path: /
pathType: Prefix
tls:
- secretName: plex-secret-tls
hosts:
- plex.alexlebens.net
hostNetwork: false
persistence:
config:
enabled: true
existingClaim: plex-config
transcode:
enabled: true
type: emptyDir
media:
enabled: true
mountPath: /mnt/store
type: pvc
existingClaim: plex-nfs-storage
podSecurityContext:
runAsUser: 568
runAsGroup: 568
fsGroup: 568
fsGroupChangePolicy: "OnRootMismatch"
supplementalGroups:
- 44
- 100
- 109
- 65539
resources:
requests:
gpu.intel.com/i915: 1
cpu: 100m
memory: 256Mi
limits:
gpu.intel.com/i915: 1
cpu: 4000m
memory: 4096Mi
storage:
config:
storageClassName: ceph-block
storageSize: 80Gi
volumeMode: Filesystem
media:
nfs:
path: /volume2/Storage
server: synologybond.alexlebens.net