Come installare Jellyfin Media Server su Linux Mint 22, 21 o 20

Jellyfin è un potente server multimediale open source che ti consente di gestire e trasmettere in streaming le tue raccolte multimediali senza problemi. Supporta un'ampia gamma di formati multimediali e offre funzionalità come il supporto della TV in diretta, funzionalità DVR e un'ampia gestione dei metadati. Jellyfin fornisce un'interfaccia intuitiva basata sul Web e applicazioni per vari dispositivi, garantendoti l'accesso ai tuoi contenuti multimediali da qualsiasi luogo.

Per installare Jellyfin su Linux Mint 22, 21 o 20, puoi utilizzare il repository APT ufficiale di Jellyfin, che contiene le ultime build stabili e di sviluppo. Questa guida ti guiderà attraverso il processo di installazione utilizzando il terminale della riga di comando.

Aggiorna Linux Mint prima dell'installazione di Jellyfin Media Server

Prima di installare il server Jellyfin Media sul tuo sistema operativo Linux Mint, è essenziale assicurarsi che tutti i pacchetti siano aggiornati. L'aggiornamento del sistema operativo garantirà che tutti i pacchetti correnti siano aggiornati e può aiutare a prevenire eventuali problemi di compatibilità con Jellyfin.

Per aggiornare il tuo sistema operativo Linux Mint, apri il terminale ed esegui il seguente comando:

sudo apt update && sudo apt upgrade

Questo comando aggiornerà tutti i pacchetti sul tuo sistema alle versioni più recenti, assicurando che il tuo sistema sia aggiornato.

Installa i pacchetti richiesti per Jellyfin Media Server

Dopo aver aggiornato il tuo sistema operativo Linux Mint, devi installare i pacchetti necessari per installare il server Jellyfin Media. I pacchetti richiesti possono variare a seconda della distribuzione e della versione di Linux Mint.

Per installare i pacchetti richiesti, aprire il terminale ed eseguire il seguente comando:

sudo apt install software-properties-common apt-transport-https ca-certificates curl

Questo comando installerà i pacchetti necessari, che includono apt-transport-https, ca-certificates, gnupg2 e curl.

Importa la chiave GPG del Jellyfin Media Server

Per installare Jellyfin Media Server su Linux Mint, importa la chiave GPG e il repository Jellyfin, poiché il software non è nel repository predefinito. Questa azione verifica l'autenticità e l'integrità del pacchetto.

Per iniziare, importa la chiave GPG eseguendo il seguente comando nel terminale:

curl -fsSL https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/jellyfin.gpg > /dev/null

Questo comando scarica la chiave GPG dal sito web Jellyfin e la aggiunge al portachiavi del tuo sistema, permettendoti di verificare l'autenticità del pacchetto durante l'installazione.

Importa il repository APT di Jellyfin Media Server

Successivamente, importa il repository Jellyfin stabile o instabile. Consigliamo il repository stabile alla maggior parte degli utenti grazie ai suoi test approfonditi e alla comprovata stabilità. Importa il repository stabile utilizzando uno dei seguenti comandi:

Importa repository stabile JellyFin:

Aggiungi JellyFin Media Server stabile per la serie di distribuzione Linux Mint 22:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu noble main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Aggiungi JellyFin Media Server stabile per la serie di distribuzione Linux Mint 21:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Aggiungi JellyFin Media Server stabile per la serie di distribuzione Linux Mint 20:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Nota: importare il repository corretto per la tua versione specifica di Linux Mint è fondamentale. L'importazione del repository sbagliato potrebbe far sì che Jellyfin non venga installato correttamente o non funzioni come previsto.

Importa il repository instabile JellyFin Linux Mint:

In alternativa, puoi importare il repository unstable utilizzando i comandi riportati di seguito.

Importa JellyFin Media Server instabile per la serie di distribuzione Linux Mint 22:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu noble unstable" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Importa JellyFin Media Server instabile per la serie di distribuzione Linux Mint 21:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu jammy unstable" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Importa JellyFin Media Server instabile per la serie di distribuzione Linux Mint 20:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu focal unstable" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Dopo aver aggiunto un nuovo repository software, è necessario aggiornare l'elenco dei repository del sistema per riconoscere le nuove aggiunte. Per fare ciò, esegui il seguente comando nel terminale:

sudo apt update

L'esecuzione del comando sudo apt update aggiorna l'elenco dei repository del sistema per includere il repository appena aggiunto. Questo aggiornamento consente a Linux Mint di riconoscere il nuovo repository e i suoi contenuti, consentendo l'installazione di Jellyfin Media Server sul tuo sistema.

Finalizzare l'installazione di Jellyfin Media Server tramite il comando APT

Dopo aver importato il repository Jellyfin e la chiave GPG, è il momento di installare il server multimediale sul tuo sistema Linux Mint. Completa l'installazione in modo efficiente con il comando seguente:

sudo apt install jellyfin

Una volta completata l'installazione, il servizio Jellyfin si avvia automaticamente. Controlla lo stato del servizio Jellyfin utilizzando il seguente comando:

systemctl status jellyfin

Se, per qualsiasi motivo, il servizio Jellyfin non si avvia, puoi avviarlo manualmente utilizzando il seguente comando:

sudo systemctl start jellyfin

Per garantire che il servizio Jellyfin venga avviato automaticamente durante l'avvio del sistema, eseguire il comando seguente:

sudo systemctl enable jellyfin

Questi comandi avviano il servizio Jellyfin, consentendone l'avvio automatico durante l'avvio del sistema.

Configurazione iniziale del server multimediale Jellyfin

Per accedere all'interfaccia utente Web Jellyfin, è necessario aprire il browser Internet e inserire l'indirizzo IP del server, seguito dalla porta predefinita 8096. Se si accede al server Jellyfin sullo stesso computer installato, utilizzare 127.0.0.1 come porta Indirizzo IP.

Ad esempio, puoi digitare il seguente indirizzo nella barra degli indirizzi del browser per accedere all'interfaccia utente Web Jellyfin:

http://127.0.0.1:8096

Quando inserisci l'indirizzo sopra riportato, ti verrà indirizzata la schermata di benvenuto per la configurazione iniziale del server. La schermata di configurazione fornisce i passaggi necessari per configurare Jellyfin per la prima volta.

Lingua di visualizzazione preferita

Durante la configurazione iniziale del tuo server Jellyfin, l'interfaccia ti chiederà di selezionare la lingua di visualizzazione preferita.

Una volta selezionato, fai clic su “Avanti ->” pulsante per passare alla fase successiva.

Crea nome utente e password dell'account Jellyfin

Dopo aver selezionato la lingua di visualizzazione preferita, il sistema ti chiederà di creare un nome utente e una password per l'account Jellyfin. Il tuo account garantisce l'accesso amministrativo al server Jellyfin, dove puoi gestire librerie multimediali, account utente e impostazioni del server.

Nota: per proteggere in modo efficace il tuo server Jellyfin, crea una password complessa e univoca che combini lettere maiuscole e minuscole, numeri e simboli.

Una volta creati nome utente e password, fare clic su “Avanti ->” per procedere al passaggio successivo della configurazione iniziale del server.

Biblioteche multimediali

Dopo aver creato il tuo account Jellyfin, il passaggio successivo nella configurazione del tuo server è la configurazione delle tue librerie multimediali. Le librerie multimediali ti consentono di aggiungere i tuoi contenuti multimediali a Jellyfin e organizzarli in modo strutturato. Puoi creare più librerie per diversi tipi di media, come film, programmi TV e musica.

Per organizzare e visualizzare contenuti multimediali in Jellyfin, aggiungi i tuoi contenuti alle librerie multimediali. Fare clic in grande “+” O "Aggiungi libreria multimediale" pulsante sulla dashboard di Jellyfin. Questo clic ti reindirizzerà alla schermata di configurazione del Catalogo multimediale per inserire la cartella multimediale.

Aggiungere contenuti multimediali a Jellyfin è semplice:

  • Se hai utilizzato Plex, troverai il processo familiare.
  • Seleziona il pulsante “Aggiungi libreria multimediale”.
  • Scegli il tipo di file multimediale da aggiungere: film, programmi TV o musica.
  • Segui le istruzioni per inserire la tua cartella multimediale.
  • Imposta la lingua dei metadati, che fornisce descrizioni degli episodi, biografie degli attori e copertine degli album.

Dopo aver popolato le tue librerie multimediali, puoi organizzare e sfogliare in modo efficiente i contenuti tramite Jellyfin. Clic “Avanti ->” dopo aver aggiunto le librerie multimediali per procedere alla schermata Lingua metadati. Qui, seleziona una lingua per i metadati del tuo contenuto. Questa selezione arricchisce i tuoi contenuti con informazioni preziose come dettagli sul cast e sulla troupe, riassunti della trama e recensioni.

Linguaggio preferito per i metadati

Dopo aver configurato le tue librerie multimediali e selezionato la lingua dei metadati preferita, configura l'accesso remoto per il tuo server multimediale Jellyfin. Ciò ti consente di visualizzare contenuti multimediali da posizioni o dispositivi diversi, non solo dalla tua rete locale.

Dopo aver selezionato la lingua dei metadati preferita, fare clic su “Avanti ->” pulsante per procedere.

Abilita connessioni remote Jellyfin

Abilita l'accesso remoto consentendo le connessioni al tuo server multimediale Jellyfin e attivando la mappatura automatica delle porte. Consentire le connessioni remote ti consente di accedere ai contenuti multimediali da qualsiasi luogo con una connessione Internet. Nel frattempo, la mappatura automatica delle porte apre le porte necessarie, garantendo che il traffico in entrata possa raggiungere il tuo server Jellyfin.

Dopo aver configurato l'accesso remoto al tuo Jellyfin Media Server, fai clic su “Avanti ->” pulsante per procedere.

Procedi alla dashboard di Jellyfin

Una volta completata la configurazione iniziale del tuo server multimediale Jellyfin, la schermata seguente conferma che il processo di installazione è terminato e che il tuo server è pronto per l'uso.

Dopo aver effettuato l'accesso all'interfaccia utente Web Jellyfin, inserisci il nome utente e la password creati durante il processo di configurazione iniziale e fai clic sul pulsante "Accedi". Questa azione ti porterà alla dashboard di Jellyfin, dove potrai accedere alle tue librerie multimediali e gestire i contenuti.

Suggerimenti per la prima volta per Jellyfin una volta effettuato l'accesso su Linux Mint

Una volta effettuato l'accesso al tuo server multimediale Jellyfin, puoi accedere alla dashboard per gestire le tue librerie multimediali, gli utenti e le impostazioni del server. Ecco alcune azioni che puoi eseguire dalla dashboard:

  • Aggiungi più contenuti multimediali: Puoi aggiungere altro al tuo server Jellyfin facendo clic sul pulsante "Aggiungi libreria multimediale" e selezionando il tipo di media che desideri aggiungere, come film, programmi TV o musica. Dovrai fornire le informazioni necessarie, come il nome della libreria, la posizione dei file multimediali ed eventuali impostazioni specifiche per il tipo di contenuto multimediale.
  • Configura le personalizzazioni: Puoi personalizzare l'aspetto del tuo server Jellyfin configurando personalizzazioni come tema, lingua e metadati. Fare clic sul pulsante "Dashboard", quindi selezionare le impostazioni "Generale" o "Schermo" per apportare modifiche.
  • Gestisci utenti: Per gestire l'accesso ai tuoi contenuti multimediali, puoi aggiungere, rimuovere e modificare gli account utente. Fai clic sul pulsante “Utenti” sulla dashboard, quindi seleziona “Aggiungi utente” o “Modifica utente” per apportare modifiche.

Ecco alcuni suggerimenti generali per la gestione del tuo server multimediale Jellyfin:

  • Tienilo aggiornato: Controlla regolarmente la presenza di aggiornamenti e installali non appena diventano disponibili per garantire che il tuo server sia aggiornato.
  • Utilizza plugin ed estensioni: Plugin ed estensioni possono aggiungere funzionalità al tuo server Jellyfin, come il supporto per i sottotitoli o il controllo remoto.
Dashboard sull'interfaccia utente web di Jellyfin Media Server su Linux Mint
Linux Mint con dashboard Jellyfin Media Server sull'interfaccia utente web

Risoluzione dei problemi: ripristinare la configurazione iniziale di Jellyfin

Se riscontri problemi durante la configurazione iniziale del tuo server multimediale Jellyfin o devi ricominciare da capo per qualsiasi motivo, reimpostare il processo di configurazione è un processo semplice. Modificando il valore "IsStartupWizardCompleted" nel file system.xml e riavviando il server Jellyfin, è possibile reimpostare il processo di installazione iniziale e ricominciare. Ecco i passaggi da seguire:

Apri il file system.xml: puoi farlo eseguendo il seguente comando:

sudo nano /etc/jellyfin/system.xml

Questo comando aprirà il file system.xml nell'editor di testo nano, consentendoti di modificare il file.

Modificare il valore "IsStartupWizardCompleted":

<IsStartupWizardCompleted>true</IsStartupWizardCompleted>

E cambialo in:

<IsStartupWizardCompleted>false</IsStartupWizardCompleted>

Questa modifica ripristina il processo di configurazione iniziale, consentendoti di ricominciare dall'inizio.

Per riavviare il server Jellyfin, esegui il comando seguente:

sudo systemctl restart jellyfin

Riavvia il processo di configurazione: dopo aver riavviato il server Jellyfin, puoi rivisitare HTTP://127.0.0.1:8096 e riavviare il processo di configurazione.

Configura l'autorizzazione per le unità multimediali per Jellyfin Media Server

Dopo aver installato Jellyfin sul tuo sistema Linux Mint, è essenziale impostare le autorizzazioni affinché il server multimediale possa accedere e leggere le tue directory multimediali. Utilizza il comando setfacl, che offre un controllo degli accessi più dettagliato rispetto ai comandi chown e chgrp.

Assicurati di avere installato il pacchetto ACL prima di impostare le autorizzazioni. Eseguire il comando seguente per procedere:

sudo apt install acl

Per consentire a Jellyfin l'accesso alla tua directory multimediale e a tutte le sue sottodirectory, utilizza il seguente comando con il flag -R (ricorsivo):

sudo setfacl -R -m u:jellyfin:rx /media/mymediadrive

Se è necessario assegnare autorizzazioni a singole directory o file multimediali, utilizzare il comando seguente:

sudo setfacl -m u:jellyfin:rx /media/mymediadrive/example-name-of-file-or-directory

Comandi e suggerimenti aggiuntivi con Jellyfin

Configura SSH per Jellyfin e Linux Mint

Se prevedi di accedere al tuo Linux Mint Jellyfin Media Server da remoto, è essenziale configurare un tunnel Secure Shell (SSH). SSH è un protocollo per l'accesso remoto sicuro e altri servizi di rete sicuri su una rete non sicura.

Per configurare SSH sul tuo server Linux Mint, segui questi passaggi:

Installa il server SSH sulla tua macchina Linux Mint utilizzando il seguente comando:

sudo apt install openssh-server

Dopo aver installato il server SSH, connettiti al tuo Jellyfin Media Server da remoto tramite un tunnel SSH. Sostituisci {server-ip-address} con l'indirizzo IP del tuo server e inserisci il seguente comando nel tuo terminale:

ssh {server-ip-address} -L 8096:localhost:8096

Questo comando crea un tunnel SSH per Jellyfin Media Server.

Dopo aver creato il tunnel SSH, puoi accedere a Jellyfin Media Server tramite il seguente collegamento nel tuo browser web:

http://localhost:8096/web/index.html#/wizardstart.html

Un tunnel SSH reindirizzerà la richiesta HTTP a http://localhost:8096/web sul server remoto. Dopo la configurazione iniziale, accedi al tuo Jellyfin Media Server utilizzando l'indirizzo IP del tuo server remoto all'indirizzo https://{server-ip-address}:8096.

Configura il firewall UFW per Jellyfin

La configurazione del firewall UFW si rivela fondamentale quando si gestisce il traffico di rete in entrata e in uscita sul tuo server Linux Mint. A differenza di Ubuntu, Linux Mint non abilita il firewall UFW per impostazione predefinita; è necessario abilitarlo manualmente. L'attivazione del firewall UFW consente agli utenti di consentire solo al traffico necessario di raggiungere il proprio server.

Utilizzare il seguente comando del terminale per abilitare il firewall UFW:

sudo ufw enable

Una volta abilitato, assicurati di consentire il traffico in entrata sulla porta 8096, che è fondamentale per il corretto funzionamento di Jellyfin Media Server. Utilizzare il seguente comando per consentire il traffico sulla porta 8096:

sudo ufw allow 8096

Questo comando consentirà il traffico in entrata sulla porta 8096 al tuo server, assicurando che Jellyfin Media Server possa funzionare correttamente.

Se non hai UFW installato, utilizza il seguente comando per installarlo:

sudo apt install ufw

Configura Apache o Nginx come proxy inverso per Jellyfin Media Server

La configurazione di un proxy inverso per Jellyfin può aiutarti ad accedere al server multimediale da un computer o una rete remota.

Configurazione di Apache come proxy inverso per Jellyfin

Se desideri accedere al tuo server multimediale Jellyfin da un computer o una rete remota, puoi configurare un proxy inverso utilizzando Apache o Nginx. La guida riguarderà la configurazione di Apache come proxy inverso su Linux Mint.

Innanzitutto, installa il server web Apache utilizzando il seguente comando:

sudo apt install apache2

Per impostazione predefinita, Apache dovrebbe essere attivo. In caso contrario, utilizzare il seguente comando per abilitarlo:

sudo systemctl start apache2

Successivamente, utilizza un editor di testo per creare un nuovo file di configurazione dell'host virtuale per Jellyfin. Ad esempio, puoi utilizzare l'editor nano come segue:

sudo systemctl enable apache2

Successivamente, abilita i moduli necessari con il seguente comando:

sudo a2enmod proxy proxy_http headers proxy_wstunnel

Crea un nuovo file di configurazione dell'host virtuale per Jellyfin utilizzando il seguente comando:

sudo nano /etc/apache2/sites-available/jellyfin.conf

Per creare un sottodominio, devi avere un nome di dominio attivo. Un'opzione per acquistare un nome di dominio è tramite NameCheap, dove i domini sono disponibili per un minimo di $ 1 a $ 2. In alternativa, se preferisci un dominio .com, puoi utilizzare Cloudflare.

Una volta creato il tuo sottodominio, puoi configurare un host virtuale con Apache seguendo questi passaggi:

<VirtualHost *:80>
    ServerName jellyfin.example.com

    # Redirect HTTP to HTTPS
    Redirect permanent / https://jellyfin.example.com

    ErrorLog /var/log/apache2/jellyfin-error.log
    CustomLog /var/log/apache2/jellyfin-access.log combined
</VirtualHost>

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName jellyfin.example.com

    DocumentRoot /var/www/html/jellyfin/public_html

    ProxyPreserveHost On

    ProxyPass "/socket" "ws://localhost:8096/socket"
    ProxyPassReverse "/socket" "ws://localhost:8096/socket"

    ProxyPass "/" "http://localhost:8096/"
    ProxyPassReverse "/" "http://localhost:8096/"

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/jellyfin.example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/jellyfin.example.com/privkey.pem
    Protocols h2 http/1.1

    SSLCipherSuite HIGH:RC4-SHA:AES128-SHA:!aNULL:!MD5
    SSLHonorCipherOrder on

    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

    ErrorLog /var/log/apache2/jellyfin-error.log
    CustomLog /var/log/apache2/jellyfin-access.log combined
</VirtualHost>
</IfModule>

Salvare il file (CTRL+O), quindi uscire (CTRL+X).

Per garantire che non vi siano errori nella configurazione di Apache o nel file dell'host virtuale prima di abilitare l'host virtuale, è possibile eseguire un "dry run" utilizzando il seguente comando:

sudo apache2ctl configtest

Dopo aver verificato la sintassi di configurazione di Apache per eventuali errori di sintassi utilizzando il comando precedente, è possibile procedere ad abilitare l'host virtuale utilizzando il seguente comando:

sudo a2ensite jellyfin.conf

La creazione di un collegamento simbolico dalla directory sites-available alla directory sites-enabled consente ad Apache di servire l'host virtuale tramite il comando precedente. Dopo aver abilitato l'host virtuale, riavvia Apache per applicare le modifiche.

Eseguire il comando seguente per ottenere ciò:

sudo systemctl restart apache2

Il comando arresta e avvia il servizio Apache, applica le nuove impostazioni dell'host virtuale e ricarica la configurazione con le modifiche aggiornate.

Configurazione di Nginx come proxy inverso per Jellyfin e Linux Mint

Nginx può essere un proxy inverso per consentire l'accesso remoto al tuo server multimediale Jellyfin. Nginx è un server web leggero e ad alte prestazioni comunemente utilizzato per questo scopo.

Per installare Nginx, utilizzare il seguente comando:

sudo apt install nginx

Successivamente, avvia il servizio Nginx utilizzando il seguente comando:

sudo systemctl start nginx

Esegui il comando seguente per assicurarti che Nginx sia abilitato:

sudo systemctl enable nginx

Questo comando avvia il servizio Nginx e garantisce che venga avviato automaticamente all'avvio.

Output di esempio in caso di successo:

Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx

Per verificare lo stato di Nginx, utilizzare il seguente comando:

systemctl status nginx

Dopo aver confermato che Nginx funziona correttamente, puoi creare un nuovo file di blocco del server in /etc/nginx/conf.d/jellyfin.conf. In questo esempio utilizzeremo il sottodominio jellyfin.example.com.

sudo nano /etc/nginx/conf.d/jellyfin.conf

Per configurare Nginx come proxy inverso, è necessario impostare un file di blocco del server in /etc/nginx/conf.d/jellyfin.conf con le seguenti direttive:

  • La direttiva listen imposta la porta e l'indirizzo su cui Nginx dovrebbe essere in ascolto. Per questo esempio viene utilizzata la porta 80.
  • La direttiva server_name imposta il nome host o il nome di dominio che Nginx dovrebbe ascoltare. Sostituisci gelatina.esempio.com con il tuo nome di dominio.
  • Le direttive access_log e error_log: impostano le posizioni per i log di accesso e di errore.
  • Le direttive di posizione: definiscono come Nginx dovrebbe gestire le richieste in arrivo.

Le direttive sulla posizione configurano proxy_pass per inoltrare le richieste da Nginx a Jellyfin. Il proxy_pass stabilisce il protocollo e l'indirizzo del server upstream, il server Jellyfin, e ascolta sulla porta 8096. La direttiva location definisce come Nginx dovrebbe gestire le richieste in entrata, gestendo le richieste per l'URL root (/), la directory /web/ e il directory /socket.

Ecco un esempio di file di blocco del server:

server {
    listen 80;
    server_name jellyfin.example.com;

    access_log /var/log/nginx/jellyfin.access;
    error_log /var/log/nginx/jellyfin.error;

    set $jellyfin jellyfin;
    resolver 127.0.0.1 valid=30;

    # Security / XSS Mitigation Headers
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    location = / {
        return 302 https://$host/web/;
    }

    location / {
        # Proxy main Jellyfin traffic
        proxy_pass http://$jellyfin:8096;
        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 $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;

        # Disable buffering when the nginx proxy gets very resource heavy upon streaming
        proxy_buffering off;
    }

    # location block for /web - This is purely for aesthetics so /web/#!/ works instead of having to go to /web/index.html/#!/
    location = /web/ {
        # Proxy main Jellyfin traffic
        proxy_pass http://$jellyfin:8096/web/index.html;
        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 $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
    }

    location /socket {
        # Proxy Jellyfin Websockets traffic
        proxy_pass http://$jellyfin:8096/socket;
        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 $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
    }
}

Salvare il file (CTRL+O), quindi uscire (CTRL+X).

Prima di procedere, assicurati che la configurazione di Nginx come proxy inverso per Jellyfin sia priva di errori. Eseguire un'esecuzione di prova utilizzando il comando seguente per verificarlo:

sudo nginx -t

Questo comando testerà il file di configurazione per errori di sintassi e altri problemi. Se tutto funziona correttamente, l'output dovrebbe mostrare che il file di configurazione è ok e il test ha avuto esito positivo, come segue:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Per applicare le modifiche a Nginx, è necessario ricaricare il servizio. Puoi farlo eseguendo il seguente comando:

sudo systemctl reload nginx

Dopo aver configurato adeguatamente Nginx come proxy inverso per Jellyfin e aver impostato il tuo dominio e i record DNS in modo che puntino all'IP del tuo server, ora puoi accedere al tuo Jellyfin Media Server su Jellyfin.example.com. Con Nginx che funge da intermediario, gli utenti remoti possono ora accedere a Jellyfin visitando il sottodominio e Nginx indirizzerà le loro richieste all'interfaccia web di Jellyfin.

Crea il certificato gratuito Let's Encrypt SSL per Jellyfin

Questa sezione ti guiderà nella protezione del tuo server Apache o Nginx utilizzando un certificato SSL Let's Encrypt gratuito. Un certificato SSL garantisce che la comunicazione tra il browser dell'utente e il server sia sicura, rendendolo ideale per eseguire il server su HTTPS.

Per installare il pacchetto certbot, devi abbinare il proxy inverso che hai installato. Se usi Apache, devi installare python3-certbot-apache; se usi Nginx, devi installare python3-certbot-nginx.

Installa Certbot per Apache:

sudo apt install python3-certbot-apache

Installa Certbot per Nginx:

sudo apt install python3-certbot-nginx

Per proteggere Apache o Nginx con un certificato gratuito Let's Encrypt SSL, devi installare il pacchetto certbot che corrisponde al proxy inverso che hai installato. Se stai usando Apache, installa python3-certbot-apache; per Nginx, installa python3-certbot-nginx.

Una volta installato, esegui il comando certbot per creare un certificato. Il comando ha opzioni come –Apache o –nginx, a seconda del proxy inverso, nonché –agree-tos, –redirect, –hsts e –staple-ocsp. Queste opzioni aiutano a configurare i reindirizzamenti 301, un'intestazione Strict-Transport-Security e la pinzatura OCSP, rendendola una configurazione sicura. Ricordati di sostituire l'email e il nome del dominio con i tuoi requisiti.

Esegui Certbot per Apache per Jellyfin:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d jellyfin.example.com

Esegui Certbot per Nginx per Jellyfin:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d jellyfin.example.com

L'URL cambia da HTTP a HTTPS al momento della creazione del certificato SSL. Gli utenti dovrebbero stabilire un processo cron che effettui controlli giornalieri per garantire il rinnovo automatico del certificato. Certbot offre uno script per il rinnovo automatico del certificato. Gli utenti dovrebbero testare lo script con un'esecuzione di prova prima di impostare il processo cron, utilizzando il seguente comando:

sudo certbot renew --dry-run

Dopo aver confermato l'esito positivo del test, l'utente può impostare un processo cron per automatizzare il processo di rinnovo del certificato. Per fare ciò, l'utente può utilizzare il seguente comando:

sudo crontab -e

Questo comando apre la tabella cron dell'utente in modalità di modifica. Successivamente, l'utente può aggiungere la seguente riga alla fine del file per pianificare un controllo di rinnovo giornaliero alle 2:30:

30 2 * * * /usr/bin/certbot renew --quiet

Una volta che l'utente salva ed esce dal file, cron controllerà automaticamente i certificati quotidianamente e li rinnoverà se necessario.

Aggiorna Jellyfin Media Server

Per aggiornare il tuo Jellyfin Media Server, puoi utilizzare i comandi apt standard, proprio come faresti per qualsiasi altro pacchetto sul tuo sistema. Ciò semplifica l'aggiornamento di Jellyfin.

Per verificare la presenza di aggiornamenti, eseguire il comando seguente:

sudo apt update

Se sono disponibili aggiornamenti, esegui il comando upgrade:

sudo apt upgrade

Rimuovere Jellyfin Media Server

Per disinstallare Jellyfin dal tuo sistema, puoi utilizzare il seguente comando:

sudo remove install jellyfin

Infine, per evitare future reinstallazioni accidentali di Jellyfin, si consiglia di rimuovere il repository Jellyfin dal sistema.

Eseguire il seguente comando per la rimozione:

sudo rm /etc/apt/sources.list.d/jellyfin.list

Questo comando rimuoverà il file del repository per Jellyfin dalla directory source.list.d, impedendo futuri aggiornamenti o installazioni di Jellyfin.

Conclusione

Con Jellyfin installato con successo sul tuo sistema Linux Mint, puoi divertirti a gestire e trasmettere in streaming le tue raccolte multimediali in modo efficiente. L'utilizzo del repository APT ufficiale di Jellyfin ti assicura di rimanere aggiornato con le ultime build stabili e di sviluppo, fornendo accesso alle funzionalità e ai miglioramenti più recenti. Goditi la flessibilità e la robusta funzionalità che Jellyfin offre come soluzione server multimediale.

Joshua James
Seguimi
Ultimi post di Joshua James (vedi tutto)

1 commenti su “How to Install Jellyfin Media Server on Linux Mint 22, 21 or 20”

Lascia un commento