orcaping / JellyfinK8s

A simple JellyFin "Stack" for k8s
1 stars 1 forks source link

Jellyfin Setup Guide

This is an installation guide for a containerized Jellyfin Stack available for Kubernetes.

Prerequisits

This guide assumes that you have setup your cluster on Ubuntu 18.04 nodes.
Please ensure you have root permissions to the system

Setup qBittorrent

Follow this guide to install qBittorrent on Ubuntu 18.04: Install Guide

connecting your downloader to Radarr & Sonarr is no harder then connecting over localhost:8080 or the respective IP-Adresse of the Server hosting your qBittorrent installation.
security: when possible use dedicated credentials to authenticate to your torrent client.

Jellyfin

Sonarr & Radarr

Both applications have a near identical UI and require the same configuration steps. Keep in mind Sonarr is used for Series whereas Radarr is used for Movies.

Adding Downlaod Client

To add a download client switch to Settings/Download Clients add your selected torrent client.
security: when possible use dedicated credentials to authenticate to your torrent client.

Prowlarr

To connect Radarr & Sonarr under Settings/Apps add the following two applications with this configuration

ApiKeys for both Applications can be found in the respective UI under Settings/General.

Applying all resources

kubectl create ns jellyfin
kubectl apply -f jellyfin_server/
kubectl apply -f prowlarr_server/
kubectl apply -f sonarr_server/
kubectl apply -f radarr_server/

Deleting all resources

kubectl delete -f jellyfin_server/
kubectl delete -f prowlarr_server/
kubectl delete -f radarr_server/
kubectl delete -f sonarr_server/
kubectl delete ns jellyfin

Security

Network Policies

Following communication is allowed by default further communication will require editing the network policies. More information can be found under: Network Policies

Type Start End Port Protocol
Ingress  radarr-service jellyfin-service 7878 tcp
Ingress sonarr-service jellyfin-service 8989 tcp
Egress  jellyfin-service radarr-service 7878 tcp
Egress jellyfin-service sonarr-service 8989 tcp

Troubleshooting

No Disk Space

Should you encounter a jammed disk switch to the root directory and from there run the command sudo du -xd 1 keep doing so until you reach the directory jamming your system and ensure you delete it properly by running sudo rm -rf /dir

Test Pod

To run the test-pod use following command: kubectl apply -f test-pod.yaml
To test functionality of network policies you can run the test-pod and use the curl command: curl component-service:port