add plex and remove ext-services plex

This commit is contained in:
James Andariese 2023-12-24 14:19:51 -06:00
parent eb3068048e
commit 98cb6501d7
6 changed files with 111 additions and 31 deletions

View File

@ -1,31 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: plex
namespace: external-services
spec:
externalName: 172.16.18.1
type: ExternalName
ports:
- name: http
protocol: TCP
port: 32400
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: plex
namespace: external-services
spec:
ingressClassName: haproxy
rules:
- host: plex.strudelline.net
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: plex
port:
number: 32400

1
plex/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/charts

3
plex/deploy.sh Normal file
View File

@ -0,0 +1,3 @@
#!/bin/bash
kustomize build --enable-helm | kubectl apply -f -

3
plex/diff.sh Normal file
View File

@ -0,0 +1,3 @@
#!/bin/bash
kustomize build --enable-helm | kubectl diff -f -

101
plex/kustomization.yaml Normal file
View File

@ -0,0 +1,101 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: plex
helmCharts:
- name: plex-media-server
repo: https://raw.githubusercontent.com/plexinc/pms-docker/gh-pages
version: 0.1.8
releaseName: plex
namespace: plex
includeCRDs: true
valuesInline:
fullnameOverride: plex
ingress:
enabled: true
# note put a domain name that points to your ip address here
url: https://plex.strudelline.net
ingressClassName: haproxy
pms:
storageClassName: ssd
configStorage: 200Gi
service:
type: LoadBalancer
extraEnv:
# This claim is optional, and is only used for the first startup of PMS
# The claim is obtained from https://www.plex.tv/claim/ is only valid for a few minutes
PLEX_CLAIM: "claim"
extraVolumeMounts:
- name: youtube
mountPath: /volume1/youtube
- name: kideos
mountPath: /volume1/kideos
- name: youtube
mountPath: /volume1/youtube
- name: audiobooks
mountPath: /volume1/audiobooks
- name: tv-shows
mountPath: /volume1/tv shows
- name: dropbox
mountPath: /volume1/dropbox
- name: cache
mountPath: /transcode
extraVolumes:
- name: dropbox
nfs:
path: /volume1/dropbox
server: 172.16.18.1
- name: tv-shows
nfs:
path: /volume1/tv shows
server: 172.16.18.1
- name: kideos
nfs:
path: /volume1/kideos
server: 172.16.18.1
- name: youtube
nfs:
path: /volume1/youtube
server: 172.16.18.1
- name: music
nfs:
path: /volume1/music
server: 172.16.18.1
- name: audiobooks
nfs:
path: /volume1/audiobooks
server: 172.16.18.1
- name: cache
emptyDir:
sizeLimit: 50Gi
initContainer:
script: |
#!/bin/sh
if [ -d "/config/Library" ]; then
echo "PMS library already exists, exiting."
exit 0
fi
echo "fetching pre-existing pms database to import..."
cd /config
tar xvf /volume1/dropbox/PlexLibrary.tar
mv Library Library
echo "Done."
patches:
- target:
kind: StatefulSet
patch: |-
apiVersion: v1
kind: StatefulSet
metadata:
name: meaningless
spec:
template:
spec:
runtimeClassName: nvidia
nodeSelector:
nvidia.com/gpu.family: pascal

3
plex/uninstall.sh Normal file
View File

@ -0,0 +1,3 @@
#!/bin/bash
kustomize build --enable-helm | kubectl delete -f -