yarrrrr
This commit is contained in:
parent
2b2296cc2e
commit
0bc67f0fdc
@ -2,6 +2,11 @@
|
|||||||
|
|
||||||
## TODO
|
## TODO
|
||||||
|
|
||||||
|
### Media
|
||||||
|
|
||||||
|
[ ] sabnzbd ini config map
|
||||||
|
[ ] tdarr
|
||||||
|
|
||||||
[x] private registry
|
[x] private registry
|
||||||
[x] secrets
|
[x] secrets
|
||||||
[x] ntr-cv static containers
|
[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
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
@ -28,61 +21,38 @@ spec:
|
|||||||
restartPolicy: Always
|
restartPolicy: Always
|
||||||
|
|
||||||
containers:
|
containers:
|
||||||
- image: jellyfin/jellyfin
|
- image: ghcr.io/hotio/jellyfin
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
name: jellyfin
|
name: jellyfin
|
||||||
env:
|
env:
|
||||||
- name: NODE_NAME
|
- name: TZ
|
||||||
valueFrom:
|
value: Australia/Melbourne
|
||||||
fieldRef:
|
- name: PUID
|
||||||
apiVersion: v1
|
value: '1000'
|
||||||
fieldPath: spec.nodeName
|
- name: PGID
|
||||||
- name: POD_NAME
|
value: '1000'
|
||||||
valueFrom:
|
- name: UMASK
|
||||||
fieldRef:
|
value: '002'
|
||||||
apiVersion: v1
|
|
||||||
fieldPath: metadata.name
|
|
||||||
- name: POD_NAMESPACE
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
apiVersion: v1
|
|
||||||
fieldPath: metadata.namespace
|
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8096
|
- containerPort: 8096
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /media
|
- mountPath: /data
|
||||||
name: jellyfin-media
|
name: jellyfin-data
|
||||||
readOnly: true
|
readOnly: true
|
||||||
- mountPath: /config
|
- mountPath: /config
|
||||||
name: jellyfin-config
|
name: jellyfin-config
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: jellyfin-media
|
- name: jellyfin-data
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: media
|
claimName: data
|
||||||
- name: jellyfin-config
|
- name: jellyfin-config
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: jellyfin-config
|
claimName: jellyfin-config
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: media
|
|
||||||
namespace: media
|
|
||||||
spec:
|
|
||||||
storageClassName: slow
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 4Ti
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
metadata:
|
metadata:
|
||||||
@ -95,3 +65,44 @@ spec:
|
|||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 8Gi
|
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:
|
spec:
|
||||||
restartPolicy: Always
|
restartPolicy: Always
|
||||||
containers:
|
containers:
|
||||||
- image: ghcr.io/fallenbagel/jellyseerr
|
- image: ghcr.io/hotio/jellyseerr
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
name: jellyseerr
|
name: jellyseerr
|
||||||
env:
|
env:
|
||||||
@ -27,16 +27,10 @@ spec:
|
|||||||
name: web
|
name: web
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
# - mountPath: /media
|
|
||||||
# name: jellyseerr-media
|
|
||||||
# readOnly: true
|
|
||||||
- mountPath: /app/config
|
- mountPath: /app/config
|
||||||
name: jellyseerr-config
|
name: jellyseerr-config
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
# - name: jellyseerr-media
|
|
||||||
# persistentVolumeClaim:
|
|
||||||
# claimName: media
|
|
||||||
- name: jellyseerr-config
|
- name: jellyseerr-config
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: jellyseerr-config
|
claimName: jellyseerr-config
|
||||||
@ -55,3 +49,43 @@ spec:
|
|||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 1Gi
|
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
|
# apiVersion: v1
|
||||||
kind: Pod
|
# kind: Pod
|
||||||
metadata:
|
# metadata:
|
||||||
name: nbody-gpu-benchmark
|
# name: nbody-gpu-benchmark
|
||||||
namespace: default
|
# namespace: default
|
||||||
spec:
|
# spec:
|
||||||
restartPolicy: OnFailure
|
# restartPolicy: OnFailure
|
||||||
runtimeClassName: nvidia
|
# runtimeClassName: nvidia
|
||||||
containers:
|
# containers:
|
||||||
- name: cuda-container
|
# - name: cuda-container
|
||||||
image: nvcr.io/nvidia/k8s/cuda-sample:nbody
|
# image: nvcr.io/nvidia/k8s/cuda-sample:nbody
|
||||||
args: ["nbody", "-gpu", "-benchmark"]
|
# args: ["nbody", "-gpu", "-benchmark"]
|
||||||
resources:
|
# resources:
|
||||||
limits:
|
# limits:
|
||||||
nvidia.com/gpu: 1
|
# nvidia.com/gpu: 1
|
||||||
env:
|
# env:
|
||||||
- name: NVIDIA_VISIBLE_DEVICES
|
# - name: NVIDIA_VISIBLE_DEVICES
|
||||||
value: all
|
# value: all
|
||||||
- name: NVIDIA_DRIVER_CAPABILITIES
|
# - name: NVIDIA_DRIVER_CAPABILITIES
|
||||||
value: all
|
# 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