add cache and recommended middleware
This commit is contained in:
@@ -8,6 +8,10 @@ mkdir -p /srv/jellyfin/{config,cache}
|
|||||||
docker run -d -v /srv/jellyfin/config:/config -v /srv/jellyfin/cache:/cache -v /media:/media --net=host jellyfin/jellyfin:latest
|
docker run -d -v /srv/jellyfin/config:/config -v /srv/jellyfin/cache:/cache -v /media:/media --net=host jellyfin/jellyfin:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Traefik
|
||||||
|
|
||||||
|
<https://jellyfin.org/docs/general/networking/traefik2.html>
|
||||||
|
|
||||||
## Copy lots of files
|
## Copy lots of files
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@@ -28,8 +28,7 @@ spec:
|
|||||||
fieldRef:
|
fieldRef:
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
fieldPath: metadata.namespace
|
fieldPath: metadata.namespace
|
||||||
image: jellyfin/jellyfin:latest
|
image: jellyfin/jellyfin:10.6.4
|
||||||
imagePullPolicy: Always
|
|
||||||
name: jellyfin
|
name: jellyfin
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8096
|
- containerPort: 8096
|
||||||
@@ -37,8 +36,11 @@ spec:
|
|||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /config
|
- mountPath: /config
|
||||||
name: config
|
name: config
|
||||||
|
- mountPath: /cache
|
||||||
|
name: cache
|
||||||
- mountPath: /media
|
- mountPath: /media
|
||||||
name: media
|
name: media
|
||||||
|
readOnly: true
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
memory: "8Gi"
|
memory: "8Gi"
|
||||||
@@ -51,6 +53,9 @@ spec:
|
|||||||
- name: config
|
- name: config
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: {{ .Release.Name }}
|
claimName: {{ .Release.Name }}
|
||||||
|
- name: cache
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: {{ .Release.Name }}-cache
|
||||||
- name: media
|
- name: media
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: nfs-media
|
claimName: nfs-media
|
||||||
@@ -17,6 +17,8 @@ spec:
|
|||||||
services:
|
services:
|
||||||
- name: {{ .Release.Name }}
|
- name: {{ .Release.Name }}
|
||||||
port: 8096
|
port: 8096
|
||||||
|
middlewares:
|
||||||
|
- name: {{ .Release.Name }}
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -57,6 +59,8 @@ spec:
|
|||||||
services:
|
services:
|
||||||
- name: {{ .Release.Name }}
|
- name: {{ .Release.Name }}
|
||||||
port: 8096
|
port: 8096
|
||||||
|
middlewares:
|
||||||
|
- name: {{ .Release.Name }}
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
18
jellyfin/templates/middleware.yaml
Normal file
18
jellyfin/templates/middleware.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: Middleware
|
||||||
|
metadata:
|
||||||
|
name: jellyfin
|
||||||
|
spec:
|
||||||
|
headers:
|
||||||
|
customResponseHeaders:
|
||||||
|
X-Robots-Tag: "noindex,nofollow,nosnippet,noarchive,notranslate,noimageindex"
|
||||||
|
SSLHost: "jellyfin.ducoterra.net"
|
||||||
|
SSLForceHost: true
|
||||||
|
STSSeconds: "315360000"
|
||||||
|
STSIncludeSubdomains: true
|
||||||
|
STSPreload: true
|
||||||
|
forceSTSHeader: true
|
||||||
|
frameDeny: true
|
||||||
|
contentTypeNosniff: true
|
||||||
|
browserXSSFilter: true
|
||||||
|
customFrameOptionsValue: "https://jellyfin.ducoterra.net"
|
||||||
@@ -11,3 +11,17 @@ spec:
|
|||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 32Gi
|
storage: 32Gi
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}-cache
|
||||||
|
annotations:
|
||||||
|
"helm.sh/resource-policy": keep
|
||||||
|
spec:
|
||||||
|
storageClassName: nvme
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 32Gi
|
||||||
|
|||||||
Reference in New Issue
Block a user