Installation
Installation
1. Install Packages
sudo apt install apt-transport-https gnupg lsb-release
curl -fsSL https://repo.jellyfin.org/debian/jellyfin_team.gpg.key | gpg --dearmor -o /etc/apt/trusted.gpg.d/debian-jellyfin.gpg
echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/debian $( lsb_release -c -s ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
sudo apt update
sudo apt install jellyfin
sudo systemctl enable --now jellyfin.service
sudo systemctl restart jellyfin.service
2. Setup reverse proxy
In your new Jellyfin installation, head over to the Admin Dashboard
-> Advanced
-> Networking
and disable HTTPS (if enabled), then add your local host (127.0.0.1
) to the known proxies, to allow NGINX to act as a reverse proxy. After that, restart your Jellyfin server.
sudo systemctl restart jellyfin
Create a new VHOST in NGINX, /etc/nginx/sites-enabled/streaming.example.org
and insert the following configuration (adapting the servername etc. of course):
upstream jellyfin {
server 127.0.0.1:8096;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name streaming.example.org;
ssl_certificate /etc/ssl/...;
ssl_certificate_key /etc/ssl/...;
ssl_trusted_certificate /etc/ssl/...;
location / {
proxy_pass http://jellyfin;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}
server {
listen 80;
listen [::]:80;
server_name streaming.example.org;
return 301 https://$server_name$request_uri;
}
You can now reach your Jellyfin instance over streaming.example.org.