yarrrrr
This commit is contained in:
parent
2b2296cc2e
commit
0bc67f0fdc
@ -2,6 +2,11 @@
|
||||
|
||||
## TODO
|
||||
|
||||
### Media
|
||||
|
||||
[ ] sabnzbd ini config map
|
||||
[ ] tdarr
|
||||
|
||||
[x] private registry
|
||||
[x] secrets
|
||||
[x] ntr-cv static containers
|
||||
|
||||
@ -1,50 +0,0 @@
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: jellyfin
|
||||
name: jellyfin
|
||||
namespace: media
|
||||
spec:
|
||||
ports:
|
||||
- name: web
|
||||
port: 8096
|
||||
protocol: TCP
|
||||
targetPort: 8096
|
||||
selector:
|
||||
app: jellyfin
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: jellyfin-ingress
|
||||
namespace: media
|
||||
spec:
|
||||
ingressClassName: haproxy
|
||||
rules:
|
||||
- host: jellyfin.nightowl.strix.systems
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: jellyfin
|
||||
port:
|
||||
name: web
|
||||
path: /
|
||||
pathType: Prefix
|
||||
- host: jf.ntwl.xyz
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: jellyfin
|
||||
port:
|
||||
name: web
|
||||
path: /
|
||||
pathType: Prefix
|
||||
|
||||
@ -1,12 +1,5 @@
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: media
|
||||
|
||||
---
|
||||
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
@ -28,61 +21,38 @@ spec:
|
||||
restartPolicy: Always
|
||||
|
||||
containers:
|
||||
- image: jellyfin/jellyfin
|
||||
- image: ghcr.io/hotio/jellyfin
|
||||
imagePullPolicy: Always
|
||||
name: jellyfin
|
||||
env:
|
||||
- name: NODE_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
apiVersion: v1
|
||||
fieldPath: spec.nodeName
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
apiVersion: v1
|
||||
fieldPath: metadata.name
|
||||
- name: POD_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
apiVersion: v1
|
||||
fieldPath: metadata.namespace
|
||||
- name: TZ
|
||||
value: Australia/Melbourne
|
||||
- name: PUID
|
||||
value: '1000'
|
||||
- name: PGID
|
||||
value: '1000'
|
||||
- name: UMASK
|
||||
value: '002'
|
||||
ports:
|
||||
- containerPort: 8096
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- mountPath: /media
|
||||
name: jellyfin-media
|
||||
- mountPath: /data
|
||||
name: jellyfin-data
|
||||
readOnly: true
|
||||
- mountPath: /config
|
||||
name: jellyfin-config
|
||||
|
||||
volumes:
|
||||
- name: jellyfin-media
|
||||
- name: jellyfin-data
|
||||
persistentVolumeClaim:
|
||||
claimName: media
|
||||
claimName: data
|
||||
- name: jellyfin-config
|
||||
persistentVolumeClaim:
|
||||
claimName: jellyfin-config
|
||||
|
||||
---
|
||||
|
||||
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: media
|
||||
namespace: media
|
||||
spec:
|
||||
storageClassName: slow
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 4Ti
|
||||
|
||||
---
|
||||
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
@ -95,3 +65,44 @@ spec:
|
||||
resources:
|
||||
requests:
|
||||
storage: 8Gi
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: jellyfin
|
||||
name: jellyfin
|
||||
namespace: media
|
||||
spec:
|
||||
ports:
|
||||
- name: web
|
||||
port: 8096
|
||||
protocol: TCP
|
||||
targetPort: 8096
|
||||
selector:
|
||||
app: jellyfin
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: jellyfin-ingress
|
||||
namespace: media
|
||||
spec:
|
||||
ingressClassName: haproxy
|
||||
rules:
|
||||
- host: jf.ntwl.xyz
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: jellyfin
|
||||
port:
|
||||
name: web
|
||||
path: /
|
||||
pathType: Prefix
|
||||
|
||||
|
||||
@ -1,50 +0,0 @@
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: jellyseerr
|
||||
name: jellyseerr
|
||||
namespace: media
|
||||
spec:
|
||||
ports:
|
||||
- name: web
|
||||
port: 5055
|
||||
protocol: TCP
|
||||
targetPort: 5055
|
||||
selector:
|
||||
app: jellyseerr
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: jellyseerr-ingress
|
||||
namespace: media
|
||||
spec:
|
||||
ingressClassName: haproxy
|
||||
rules:
|
||||
- host: jellyseerr.nightowl.strix.systems
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: jellyseerr
|
||||
port:
|
||||
name: web
|
||||
path: /
|
||||
pathType: Prefix
|
||||
|
||||
- host: js.ntwl.xyz
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: jellyseerr
|
||||
port:
|
||||
name: web
|
||||
path: /
|
||||
pathType: Prefix
|
||||
@ -16,7 +16,7 @@ spec:
|
||||
spec:
|
||||
restartPolicy: Always
|
||||
containers:
|
||||
- image: ghcr.io/fallenbagel/jellyseerr
|
||||
- image: ghcr.io/hotio/jellyseerr
|
||||
imagePullPolicy: Always
|
||||
name: jellyseerr
|
||||
env:
|
||||
@ -27,16 +27,10 @@ spec:
|
||||
name: web
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
# - mountPath: /media
|
||||
# name: jellyseerr-media
|
||||
# readOnly: true
|
||||
- mountPath: /app/config
|
||||
name: jellyseerr-config
|
||||
|
||||
volumes:
|
||||
# - name: jellyseerr-media
|
||||
# persistentVolumeClaim:
|
||||
# claimName: media
|
||||
- name: jellyseerr-config
|
||||
persistentVolumeClaim:
|
||||
claimName: jellyseerr-config
|
||||
@ -55,3 +49,43 @@ spec:
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: jellyseerr
|
||||
name: jellyseerr
|
||||
namespace: media
|
||||
spec:
|
||||
ports:
|
||||
- name: web
|
||||
port: 5055
|
||||
protocol: TCP
|
||||
targetPort: 5055
|
||||
selector:
|
||||
app: jellyseerr
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: jellyseerr-ingress
|
||||
namespace: media
|
||||
spec:
|
||||
ingressClassName: haproxy
|
||||
rules:
|
||||
- host: jellyseerr.ntwl.xyz
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: jellyseerr
|
||||
port:
|
||||
name: web
|
||||
path: /
|
||||
pathType: Prefix
|
||||
|
||||
21
media/media.yaml
Normal file
21
media/media.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: media
|
||||
|
||||
---
|
||||
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: data
|
||||
namespace: media
|
||||
spec:
|
||||
storageClassName: slow
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 4Ti
|
||||
@ -20,23 +20,23 @@ spec:
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: nbody-gpu-benchmark
|
||||
namespace: default
|
||||
spec:
|
||||
restartPolicy: OnFailure
|
||||
runtimeClassName: nvidia
|
||||
containers:
|
||||
- name: cuda-container
|
||||
image: nvcr.io/nvidia/k8s/cuda-sample:nbody
|
||||
args: ["nbody", "-gpu", "-benchmark"]
|
||||
resources:
|
||||
limits:
|
||||
nvidia.com/gpu: 1
|
||||
env:
|
||||
- name: NVIDIA_VISIBLE_DEVICES
|
||||
value: all
|
||||
- name: NVIDIA_DRIVER_CAPABILITIES
|
||||
value: all
|
||||
# apiVersion: v1
|
||||
# kind: Pod
|
||||
# metadata:
|
||||
# name: nbody-gpu-benchmark
|
||||
# namespace: default
|
||||
# spec:
|
||||
# restartPolicy: OnFailure
|
||||
# runtimeClassName: nvidia
|
||||
# containers:
|
||||
# - name: cuda-container
|
||||
# image: nvcr.io/nvidia/k8s/cuda-sample:nbody
|
||||
# args: ["nbody", "-gpu", "-benchmark"]
|
||||
# resources:
|
||||
# limits:
|
||||
# nvidia.com/gpu: 1
|
||||
# env:
|
||||
# - name: NVIDIA_VISIBLE_DEVICES
|
||||
# value: all
|
||||
# - name: NVIDIA_DRIVER_CAPABILITIES
|
||||
# value: all
|
||||
95
media/prowlarr.yaml
Normal file
95
media/prowlarr.yaml
Normal file
@ -0,0 +1,95 @@
|
||||
---
|
||||
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: prowlarr
|
||||
namespace: media
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: prowlarr
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: prowlarr
|
||||
spec:
|
||||
restartPolicy: Always
|
||||
containers:
|
||||
- image: ghcr.io/hotio/prowlarr
|
||||
imagePullPolicy: Always
|
||||
name: prowlarr
|
||||
env:
|
||||
- name: TZ
|
||||
value: Australia/Melbourne
|
||||
- name: PUID
|
||||
value: '1000'
|
||||
- name: PGID
|
||||
value: '1000'
|
||||
- name: UMASK
|
||||
value: '002'
|
||||
ports:
|
||||
- containerPort: 9696
|
||||
name: web
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- mountPath: /config
|
||||
name: prowlarr-config
|
||||
volumes:
|
||||
- name: prowlarr-config
|
||||
persistentVolumeClaim:
|
||||
claimName: prowlarr-config
|
||||
|
||||
---
|
||||
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: prowlarr-config
|
||||
namespace: media
|
||||
spec:
|
||||
storageClassName: zfs-fast
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: prowlarr
|
||||
name: prowlarr
|
||||
namespace: media
|
||||
spec:
|
||||
ports:
|
||||
- name: web
|
||||
port: 9696
|
||||
protocol: TCP
|
||||
targetPort: 9696
|
||||
selector:
|
||||
app: prowlarr
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: prowlarr-ingress
|
||||
namespace: media
|
||||
spec:
|
||||
ingressClassName: haproxy
|
||||
rules:
|
||||
- host: prowlarr.ntwl.xyz
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: prowlarr
|
||||
port:
|
||||
name: web
|
||||
path: /
|
||||
pathType: Prefix
|
||||
100
media/radarr.yaml
Normal file
100
media/radarr.yaml
Normal file
@ -0,0 +1,100 @@
|
||||
---
|
||||
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: radarr
|
||||
namespace: media
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: radarr
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: radarr
|
||||
spec:
|
||||
restartPolicy: Always
|
||||
containers:
|
||||
- image: ghcr.io/hotio/radarr
|
||||
imagePullPolicy: Always
|
||||
name: radarr
|
||||
env:
|
||||
- name: TZ
|
||||
value: Australia/Melbourne
|
||||
- name: PUID
|
||||
value: '1000'
|
||||
- name: PGID
|
||||
value: '1000'
|
||||
- name: UMASK
|
||||
value: '002'
|
||||
ports:
|
||||
- containerPort: 7878
|
||||
name: web
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- mountPath: /data
|
||||
name: radarr-data
|
||||
- mountPath: /config
|
||||
name: radarr-config
|
||||
volumes:
|
||||
- name: radarr-data
|
||||
persistentVolumeClaim:
|
||||
claimName: data
|
||||
- name: radarr-config
|
||||
persistentVolumeClaim:
|
||||
claimName: radarr-config
|
||||
|
||||
---
|
||||
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: radarr-config
|
||||
namespace: media
|
||||
spec:
|
||||
storageClassName: zfs-fast
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: radarr
|
||||
name: radarr
|
||||
namespace: media
|
||||
spec:
|
||||
ports:
|
||||
- name: web
|
||||
port: 7878
|
||||
protocol: TCP
|
||||
targetPort: 7878
|
||||
selector:
|
||||
app: radarr
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: radarr-ingress
|
||||
namespace: media
|
||||
spec:
|
||||
ingressClassName: haproxy
|
||||
rules:
|
||||
- host: radarr.ntwl.xyz
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: radarr
|
||||
port:
|
||||
name: web
|
||||
path: /
|
||||
pathType: Prefix
|
||||
109
media/sabnzbd.yaml
Normal file
109
media/sabnzbd.yaml
Normal file
@ -0,0 +1,109 @@
|
||||
---
|
||||
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: sabnzbd
|
||||
namespace: media
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: sabnzbd
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: sabnzbd
|
||||
spec:
|
||||
restartPolicy: Always
|
||||
containers:
|
||||
- image: ghcr.io/hotio/sabnzbd
|
||||
imagePullPolicy: Always
|
||||
name: sabnzbd
|
||||
env:
|
||||
- name: TZ
|
||||
value: Australia/Melbourne
|
||||
- name: PUID
|
||||
value: '1000'
|
||||
- name: PGID
|
||||
value: '1000'
|
||||
- name: UMASK
|
||||
value: '002'
|
||||
- name: WEBUI_PORTS
|
||||
value: '8080/tcp,8080/udp'
|
||||
- name: ARGS
|
||||
value: ''
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
name: web
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- mountPath: /data
|
||||
name: sabnzbd-data
|
||||
- mountPath: /config
|
||||
name: sabnzbd-config
|
||||
volumes:
|
||||
- name: sabnzbd-data
|
||||
persistentVolumeClaim:
|
||||
claimName: data
|
||||
- name: sabnzbd-config
|
||||
persistentVolumeClaim:
|
||||
claimName: sabnzbd-config
|
||||
|
||||
---
|
||||
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: sabnzbd-config
|
||||
namespace: media
|
||||
spec:
|
||||
storageClassName: zfs-fast
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: sabnzbd
|
||||
name: sabnzbd
|
||||
namespace: media
|
||||
spec:
|
||||
ports:
|
||||
- name: web
|
||||
port: 8080
|
||||
protocol: TCP
|
||||
targetPort: 8080
|
||||
- name: web-udp
|
||||
port: 8080
|
||||
protocol: UDP
|
||||
targetPort: 8080
|
||||
selector:
|
||||
app: sabnzbd
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: sabnzbd-ingress
|
||||
namespace: media
|
||||
spec:
|
||||
ingressClassName: haproxy
|
||||
rules:
|
||||
- host: sabnzbd.ntwl.xyz
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: sabnzbd
|
||||
port:
|
||||
name: web
|
||||
path: /
|
||||
pathType: Prefix
|
||||
101
media/sonarr.yaml
Normal file
101
media/sonarr.yaml
Normal file
@ -0,0 +1,101 @@
|
||||
---
|
||||
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: sonarr
|
||||
namespace: media
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: sonarr
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: sonarr
|
||||
spec:
|
||||
restartPolicy: Always
|
||||
containers:
|
||||
- image: ghcr.io/hotio/sonarr
|
||||
imagePullPolicy: Always
|
||||
name: sonarr
|
||||
env:
|
||||
- name: TZ
|
||||
value: Australia/Melbourne
|
||||
- name: PUID
|
||||
value: '1000'
|
||||
- name: PGID
|
||||
value: '1000'
|
||||
- name: UMASK
|
||||
value: '002'
|
||||
ports:
|
||||
- containerPort: 8989
|
||||
name: web
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- mountPath: /data
|
||||
name: sonarr-data
|
||||
- mountPath: /config
|
||||
name: sonarr-config
|
||||
volumes:
|
||||
- name: sonarr-data
|
||||
persistentVolumeClaim:
|
||||
claimName: data
|
||||
- name: sonarr-config
|
||||
persistentVolumeClaim:
|
||||
claimName: sonarr-config
|
||||
|
||||
---
|
||||
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: sonarr-config
|
||||
namespace: media
|
||||
spec:
|
||||
storageClassName: zfs-fast
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: sonarr
|
||||
name: sonarr
|
||||
namespace: media
|
||||
spec:
|
||||
ports:
|
||||
- name: web
|
||||
port: 8989
|
||||
protocol: TCP
|
||||
targetPort: 8989
|
||||
selector:
|
||||
app: sonarr
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: sonarr-ingress
|
||||
namespace: media
|
||||
spec:
|
||||
ingressClassName: haproxy
|
||||
rules:
|
||||
- host: sonarr.ntwl.xyz
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: sonarr
|
||||
port:
|
||||
name: web
|
||||
path: /
|
||||
pathType: Prefix
|
||||
Loading…
x
Reference in New Issue
Block a user