init
This commit is contained in:
20
README.md
Normal file
20
README.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# Jellyfin
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker pull jellyfin/jellyfin:latest
|
||||||
|
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
|
||||||
|
```
|
||||||
|
|
||||||
|
## Copy lots of files
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Copy lots of specific files
|
||||||
|
find *.m4v | xargs -I {} echo \'{}\'
|
||||||
|
find ./*.m4v | xargs -I {} --v=2 kubectl cp \'{}\' jellyfin jf-59959d4895-p8gbx:/media/
|
||||||
|
|
||||||
|
# view file size
|
||||||
|
find ./*.m4v | xargs -I {} ls -lah {}
|
||||||
|
```
|
||||||
17
docker-compose.yaml
Normal file
17
docker-compose.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
version: '3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
jf:
|
||||||
|
image: jellyfin/jellyfin:latest
|
||||||
|
volumes:
|
||||||
|
- ./media:/media
|
||||||
|
- jf-data:/config
|
||||||
|
- jf-cache:/cache
|
||||||
|
ports:
|
||||||
|
- "8080:8096"
|
||||||
|
- "8443:8920"
|
||||||
|
- "1900:1900"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
jf-data:
|
||||||
|
jf-cache:
|
||||||
42
k8s/deploy.yaml
Normal file
42
k8s/deploy.yaml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: jf
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: jf
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: jf
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: jf
|
||||||
|
image: jellyfin/jellyfin:latest
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /media
|
||||||
|
name: jf-media
|
||||||
|
- mountPath: /config
|
||||||
|
name: jf-config
|
||||||
|
- mountPath: /cache
|
||||||
|
name: jf-cache
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: "2Gi"
|
||||||
|
cpu: "2"
|
||||||
|
requests:
|
||||||
|
memory: "500Mi"
|
||||||
|
cpu: "1m"
|
||||||
|
ports:
|
||||||
|
- containerPort: 8096
|
||||||
|
volumes:
|
||||||
|
- name: jf-media
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: jellyfin-media
|
||||||
|
- name: jf-config
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: jellyfin-config
|
||||||
|
- name: jf-cache
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: jellyfin-cache
|
||||||
18
k8s/ingress.yaml
Normal file
18
k8s/ingress.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
name: jf
|
||||||
|
spec:
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- jf.ducoterra.net
|
||||||
|
secretName: letsencrypt
|
||||||
|
rules:
|
||||||
|
- host: jf.ducoterra.net
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- backend:
|
||||||
|
serviceName: jf-web
|
||||||
|
servicePort: 8096
|
||||||
35
k8s/pvc/pvc.yaml
Normal file
35
k8s/pvc/pvc.yaml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: jellyfin-media
|
||||||
|
spec:
|
||||||
|
storageClassName: nfs-encrypted
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 512Gi
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: jellyfin-cache
|
||||||
|
spec:
|
||||||
|
storageClassName: nfs-encrypted
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 32Gi
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: jellyfin-config
|
||||||
|
spec:
|
||||||
|
storageClassName: nfs-encrypted
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 32Gi
|
||||||
10
k8s/service.yaml
Normal file
10
k8s/service.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: jf-web
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: jf
|
||||||
|
ports:
|
||||||
|
- port: 8096
|
||||||
|
targetPort: 8096
|
||||||
Reference in New Issue
Block a user