commit 32fdbe03210f5bc2e9269a906f0b642e29111f0c Author: ducoterra Date: Sun Mar 15 17:15:07 2020 -0400 init diff --git a/README.md b/README.md new file mode 100644 index 0000000..1917cb8 --- /dev/null +++ b/README.md @@ -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 {} +``` diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..79dbf95 --- /dev/null +++ b/docker-compose.yaml @@ -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: \ No newline at end of file diff --git a/k8s/deploy.yaml b/k8s/deploy.yaml new file mode 100644 index 0000000..3b6ac52 --- /dev/null +++ b/k8s/deploy.yaml @@ -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 \ No newline at end of file diff --git a/k8s/ingress.yaml b/k8s/ingress.yaml new file mode 100644 index 0000000..e07a70a --- /dev/null +++ b/k8s/ingress.yaml @@ -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 \ No newline at end of file diff --git a/k8s/pvc/pvc.yaml b/k8s/pvc/pvc.yaml new file mode 100644 index 0000000..92464cf --- /dev/null +++ b/k8s/pvc/pvc.yaml @@ -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 \ No newline at end of file diff --git a/k8s/service.yaml b/k8s/service.yaml new file mode 100644 index 0000000..f0dc6c5 --- /dev/null +++ b/k8s/service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: jf-web +spec: + selector: + app: jf + ports: + - port: 8096 + targetPort: 8096 \ No newline at end of file