Plex tra un po’ ( 29 Aprile 2025 ) cambia alcuni prezzi.

Info qua

Quello che interessa a me e’ che fino ad oggi era possibile fare streaming dei propri media, siano essi foto, musica o video, anche fuori dalla rete locale, sulle app o via web senza pagare un abbonamento. Bastava aprire un paio di porte sul proprio router e il cloud di Plex faceva la magia. L’unico costo era per la sola app per smartphone e si trattava di un costo singolo per avere lo streaming dei media fuori dalla rete locale.

Ora invece per poter fare streaming fuori dalla propria rete bisogna pagare un abbonamento. E per ascoltare o vedere le MIE cose mi sembra un po’ un’assurdità.

L’alternativa che ho trovato, e parzialmente sperimentato e’Jellyfin. Che e’ completamente open source e non dovrebbe iniziare a monetizzare sui suoi utenti solo perché qualche stratega aziendale dice che e’ il modo giusto di fare.

Che poi va anche bene far pagare un servizio, ma nel caso di Plex si tratta di poco più un dynamic dns venduto a 2 dollari al mese.

Ritornando a JellyFin si installa facilmente su Raspberry PI ma per avere i propri media accessibili ovunque la faccenda e’ un po’ più complicata non avendo un cloud a supporto.

Prima cosa bisogna individuare un servizio di DNS dinamico, dando per scontato che la maggior parte degli utilizzatori domestici non ha un IP statico e che quindi ad ogni riavvio del router questo cambia.

FREEDNS.afraid.org ha una interfaccia orribile anni 90, ma funziona con un semplice script curl pianificabile nella crontab del Raspberry.

E questo punto esponendo le porte di Jellyfin sul router (8096 e 8920) siamo quasi a posto.

Rimane qualche raccomandazione, essendo esposti su internet settiamo una password bella complicata e NON utilizziamo la connessione in http per farla passare o qualcuno potrebbe intercettarla.

E qua iniziano i problemi un po’ piu’ complicati. Jellyfin espone un servizio https sulla 8920 ma non ha un certificato e non e’ integrato con LetsEncrypt per l’aggiornamento automatico.

La soluzione che ho adottato io e’ di generare un certificato selfsigned di durata molto lunga, di creare un sottodominio sul mio VPS, agganciare questo al rinnovo automatico di LetsEncrypt e di fare reverse proxy verso Jellyfin. In questo modo i client si trovano un certificato firmato e valido, mentre tra i due server (VPS e Jellyfin) la comunicazione e’ comunque protetta da crittografia e in internet non passano password in chiaro.

Per far digerire ad Apache2 un certificato selfsigned solo per il virtualhost dedicato a Jellyfin ho inserito le direttive:

SSLProxyVerify none
SSLProxyCheckPeerName off
SSLProxyCheckPeerCN off
SSLProxyCheckPeerExpire off

Il tutto fa un giro un po strano, mi consuma la banda del VPS (che pero’ tanto non pago a consumo), ha una difficoltà tecnica che non e’ proprio per tutti pero’ funziona.