520 lines
10 KiB
YAML
520 lines
10 KiB
YAML
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: jellystack
|
|
---
|
|
# =========================
|
|
# PROWLARR
|
|
# =========================
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: prowlarr
|
|
namespace: jellystack
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: prowlarr
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: prowlarr
|
|
spec:
|
|
containers:
|
|
- name: prowlarr
|
|
image: lscr.io/linuxserver/prowlarr:latest
|
|
ports:
|
|
- containerPort: 9696
|
|
name: http
|
|
env:
|
|
- name: PUID
|
|
value: "1000"
|
|
- name: PGID
|
|
value: "1000"
|
|
- name: TZ
|
|
value: "Europe/Paris"
|
|
volumeMounts:
|
|
- name: cfg
|
|
mountPath: /config
|
|
volumes:
|
|
- name: cfg
|
|
hostPath:
|
|
path: /data/arr/config/prowlarr
|
|
type: DirectoryOrCreate
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: prowlarr
|
|
namespace: jellystack
|
|
spec:
|
|
selector:
|
|
app: prowlarr
|
|
ports:
|
|
- name: http
|
|
port: 9696
|
|
targetPort: http
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: prowlarr
|
|
namespace: jellystack
|
|
spec:
|
|
ingressClassName: traefik
|
|
rules:
|
|
- host: prowlarr.delmar.bzh
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: prowlarr
|
|
port:
|
|
number: 9696
|
|
---
|
|
# =========================
|
|
# DOWNLOADER
|
|
# =========================
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: downloader
|
|
namespace: jellystack
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: downloader
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: downloader
|
|
spec:
|
|
containers:
|
|
- name: downloader
|
|
image: lscr.io/linuxserver/downloader:latest
|
|
ports:
|
|
- containerPort: 8080
|
|
name: webui
|
|
- containerPort: 6881
|
|
name: bt-tcp
|
|
protocol: TCP
|
|
- containerPort: 6881
|
|
name: bt-udp
|
|
protocol: UDP
|
|
env:
|
|
- name: PUID
|
|
value: "1000"
|
|
- name: PGID
|
|
value: "1000"
|
|
- name: TZ
|
|
value: "Europe/Paris"
|
|
- name: WEBUI_PORT
|
|
value: "8080"
|
|
volumeMounts:
|
|
- name: cfg
|
|
mountPath: /config
|
|
- name: dl
|
|
mountPath: /downloads
|
|
- name: dl-inc
|
|
mountPath: /incomplete
|
|
volumes:
|
|
- name: cfg
|
|
hostPath:
|
|
path: /data/arr/config/downloader
|
|
type: DirectoryOrCreate
|
|
- name: dl
|
|
hostPath:
|
|
path: /data/arr/downloads
|
|
type: DirectoryOrCreate
|
|
- name: dl-inc
|
|
hostPath:
|
|
path: /data/arr/incomplete
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: downloader
|
|
namespace: jellystack
|
|
spec:
|
|
selector:
|
|
app: downloader
|
|
ports:
|
|
- name: webui
|
|
port: 8080
|
|
targetPort: webui
|
|
---
|
|
# Expose P2P ports (forward from router to node IP)
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: downloader-p2p
|
|
namespace: jellystack
|
|
spec:
|
|
type: NodePort
|
|
selector:
|
|
app: downloader
|
|
ports:
|
|
- name: bt-tcp
|
|
port: 6881
|
|
targetPort: bt-tcp
|
|
nodePort: 31681
|
|
protocol: TCP
|
|
- name: bt-udp
|
|
port: 6881
|
|
targetPort: bt-udp
|
|
nodePort: 31682
|
|
protocol: UDP
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: downloader
|
|
namespace: jellystack
|
|
spec:
|
|
ingressClassName: traefik
|
|
rules:
|
|
- host: downloader.delmar.bzh
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: downloader
|
|
port:
|
|
number: 8080
|
|
---
|
|
# =========================
|
|
# SONARR
|
|
# =========================
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: sonarr
|
|
namespace: jellystack
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: sonarr
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: sonarr
|
|
spec:
|
|
containers:
|
|
- name: sonarr
|
|
image: lscr.io/linuxserver/sonarr:latest
|
|
ports:
|
|
- containerPort: 8989
|
|
name: http
|
|
env:
|
|
- name: PUID
|
|
value: "1000"
|
|
- name: PGID
|
|
value: "1000"
|
|
- name: TZ
|
|
value: "Europe/Paris"
|
|
volumeMounts:
|
|
- name: cfg
|
|
mountPath: /config
|
|
- name: dl
|
|
mountPath: /downloads
|
|
- name: lib
|
|
mountPath: /media
|
|
volumes:
|
|
- name: cfg
|
|
hostPath:
|
|
path: /data/arr/config/sonarr
|
|
type: DirectoryOrCreate
|
|
- name: dl
|
|
hostPath:
|
|
path: /data/arr/downloads
|
|
type: DirectoryOrCreate
|
|
- name: lib
|
|
hostPath:
|
|
path: /data/arr/media
|
|
type: DirectoryOrCreate
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: sonarr
|
|
namespace: jellystack
|
|
spec:
|
|
selector:
|
|
app: sonarr
|
|
ports:
|
|
- name: http
|
|
port: 8989
|
|
targetPort: http
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: sonarr
|
|
namespace: jellystack
|
|
spec:
|
|
ingressClassName: traefik
|
|
rules:
|
|
- host: sonarr.delmar.bzh
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: sonarr
|
|
port:
|
|
number: 8989
|
|
---
|
|
# =========================
|
|
# RADARR
|
|
# =========================
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: radarr
|
|
namespace: jellystack
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: radarr
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: radarr
|
|
spec:
|
|
containers:
|
|
- name: radarr
|
|
image: lscr.io/linuxserver/radarr:latest
|
|
ports:
|
|
- containerPort: 7878
|
|
name: http
|
|
env:
|
|
- name: PUID
|
|
value: "1000"
|
|
- name: PGID
|
|
value: "1000"
|
|
- name: TZ
|
|
value: "Europe/Paris"
|
|
volumeMounts:
|
|
- name: cfg
|
|
mountPath: /config
|
|
- name: dl
|
|
mountPath: /downloads
|
|
- name: lib
|
|
mountPath: /media
|
|
volumes:
|
|
- name: cfg
|
|
hostPath:
|
|
path: /data/arr/config/radarr
|
|
type: DirectoryOrCreate
|
|
- name: dl
|
|
hostPath:
|
|
path: /data/arr/downloads
|
|
type: DirectoryOrCreate
|
|
- name: lib
|
|
hostPath:
|
|
path: /data/arr/media
|
|
type: DirectoryOrCreate
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: radarr
|
|
namespace: jellystack
|
|
spec:
|
|
selector:
|
|
app: radarr
|
|
ports:
|
|
- name: http
|
|
port: 7878
|
|
targetPort: http
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: radarr
|
|
namespace: jellystack
|
|
spec:
|
|
ingressClassName: traefik
|
|
rules:
|
|
- host: radarr.delmar.bzh
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: radarr
|
|
port:
|
|
number: 7878
|
|
---
|
|
# =========================
|
|
# BAZARR
|
|
# =========================
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: bazarr
|
|
namespace: jellystack
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: bazarr
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: bazarr
|
|
spec:
|
|
containers:
|
|
- name: bazarr
|
|
image: lscr.io/linuxserver/bazarr:latest
|
|
ports:
|
|
- containerPort: 6767
|
|
name: http
|
|
env:
|
|
- name: PUID
|
|
value: "1000"
|
|
- name: PGID
|
|
value: "1000"
|
|
- name: TZ
|
|
value: "Europe/Paris"
|
|
volumeMounts:
|
|
- name: cfg
|
|
mountPath: /config
|
|
- name: lib
|
|
mountPath: /media
|
|
- name: subs
|
|
mountPath: /subtitles
|
|
volumes:
|
|
- name: cfg
|
|
hostPath:
|
|
path: /data/arr/config/bazarr
|
|
type: DirectoryOrCreate
|
|
- name: lib
|
|
hostPath:
|
|
path: /data/arr/media
|
|
type: DirectoryOrCreate
|
|
- name: subs
|
|
hostPath:
|
|
path: /data/arr/subtitles
|
|
type: DirectoryOrCreate
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: bazarr
|
|
namespace: jellystack
|
|
spec:
|
|
selector:
|
|
app: bazarr
|
|
ports:
|
|
- name: http
|
|
port: 6767
|
|
targetPort: http
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: bazarr
|
|
namespace: jellystack
|
|
spec:
|
|
ingressClassName: traefik
|
|
rules:
|
|
- host: bazarr.delmar.bzh
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: bazarr
|
|
port:
|
|
number: 6767
|
|
---
|
|
# =========================
|
|
# JELLYFIN
|
|
# =========================
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: jellyfin
|
|
namespace: jellystack
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: jellyfin
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: jellyfin
|
|
spec:
|
|
containers:
|
|
- name: jellyfin
|
|
image: lscr.io/linuxserver/jellyfin:latest
|
|
ports:
|
|
- containerPort: 8096
|
|
name: http
|
|
env:
|
|
- name: PUID
|
|
value: "1000"
|
|
- name: PGID
|
|
value: "1000"
|
|
- name: TZ
|
|
value: "Europe/Paris"
|
|
volumeMounts:
|
|
- name: cfg
|
|
mountPath: /config
|
|
- name: lib
|
|
mountPath: /media
|
|
volumes:
|
|
- name: cfg
|
|
hostPath:
|
|
path: /data/arr/config/jellyfin
|
|
type: DirectoryOrCreate
|
|
- name: lib
|
|
hostPath:
|
|
path: /data/arr/media
|
|
type: DirectoryOrCreate
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: jellyfin
|
|
namespace: jellystack
|
|
spec:
|
|
selector:
|
|
app: jellyfin
|
|
ports:
|
|
- name: http
|
|
port: 8096
|
|
targetPort: http
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: jellyfin
|
|
namespace: jellystack
|
|
spec:
|
|
ingressClassName: traefik
|
|
rules:
|
|
- host: jellyfin.delmar.bzh
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: jellyfin
|
|
port:
|
|
number: 8096
|