Oggi sono disponibili in rete decine di servizi di streaming con cataloghi sterminati di film e serie tv. Per gli utenti è diventato difficile tenere traccia delle decine di show che settimanalmente vengono pubblicati, ecco perché negli anni sono nati diverse applicazioni che sostanzialmente fanno da tracker degli episodi in uscita e avvisano l'utente quando questi sono disponibili sulla piattaforma di riferimento.
Queste applicazioni prevedono però una registrazione e, di fatto, la condivisione dei propri dati con una società che potrebbe rivendere i dati a soggetti terzi per offerte commerciali.
Proprio per tutelare al meglio la propria privacy, e limitare la diffusione dei dati in rete, in questi anni stanno diventando sempre più diffusi applicativi self-hosted, spesso open source, che vengono eseguiti su server locale. Senza la necessità di creare un account e condividere informazioni con estranei.
Cosa è Watcharr
In questo articolo vogliamo parlarvi di Watcharr, un pratico self-hosted watch list con cui gestire la lista di show televisivi che si stanno seguendo, cosi da non perdere mai un episodio. Watcharr di fatto è una piccola web application dotata di una moderna interfaccia dalla quale aggiungere le serie tv ed i film a cui siamo interessati.
Watcharr è stato realizzato tramite il linguaggio Go ed il framework Svelte. Quindi è estremamente leggero ed ottimizzato.
È quindi possibile eseguire Watcharr anche su board ARM low cost, come ad esempio il Raspberry Pi. Con questa guida impareremo ad installare e configurare Watcharr su tale tipologia di dispositivo.
Tempo addietro abbiamo scoperto come installare un media server su Raspberry Pi. Watcharr è perfetta come applicazione da affiancare ad un setup, magari già completo e configurato, dedicato all'intrattenimento.
Requisiti hardware: non solo Raspberry Pi
Per il progetto è necessario un modello di Raspberry Pi relativamente recente. Watcharr è infatti disponibile unicamente a 64bit. Dunque non funziona sui modelli della board ARM più datati. Per questo genere di setup valutiamo solo Raspberry Pi 4 o device più aggiornati. Ovviamente è necessario dotarsi di una microSD da 128GB, per installare il programma e la distribuzione Linux, e di un cavo ethernet per la connessione al router.
Se non desideriamo configurare il tutto via SSH è necessario disporre anche di mouse, tastiera, monitor e cavo HDMI.
Installazione e configurazione di Raspberry Pi OS
Sfrutteremo Watcharr tramite un comodo container Docker. Questo ci consente di selezionare la distribuzione Linux che preferiamo. Noi vi consigliamo di affidarvi a Raspberry Pi OS ed all'imaging tool Raspberry Pi Imager per la sua installazione.
Andiamo quindi a scaricare Raspberry Pi Imager e ad eseguirlo:
Clicchiamo su "Choose Device" ed impostiamo il modello di device che possediamo.
Successivamente da "Choose OS" selezioniamo la release di Raspberry Pi OS a 64bit mentre da "Choose Storage" impostiamo la microSD da usare per il flash.
Clicchiamo poi su "Next". A questo punto dobbiamo decidere se configurare sin da subito alcuni aspetti della distribuzione o avviarla con i setting standard. Vi consigliamo di sfruttare l'opzione "EDIT SETTING" e settare l'accesso tramite SSH sin dal primo boot, un hostname, la timezone e il keyboard layout.
Confermiamo quindi le scelte fatte con "YES" cosi da avviare il processo di flash che dovrebbe durare qualche minuto.
Installazione di Docker su Raspberry Pi OS
Ultimata l'installazione del sistema operativo eseguiamo il primo boot e spostiamoci subito sulla configurazione del sistema di container Docker. Scarichiamo l'installer con curl:
curl -sSL https://get.docker.com | sh
avviamo l'installazione:
sudo sh get-docker.sh
inseriamo il nostro utente nell'apposito gruppo docker
:
sudo usermod -aG docker nomedelvostroutente
ed impostiamo Docker per eseguirsi in automatico ad ogni avvio del sistema:
sudo systemctl enable docker.service && sudo systemctl enable containerd.service
Installazione e configurazione del container Docker di Watcharr
Siamo quindi pronti per configurare il container Docker di Watcharr. Andiamo a creare una cartella dedicata su cui lavorare:
sudo mkdir -p /opt/stacks/watcharr
e spostiamoci al suo interno:
cd /opt/stacks/watcharr
Generiamo quindi il Docker compose file sfruttando l'editor di testo nano:
sudo nano compose.yaml
Questo file vuoto va completato cosi:
version: "3"
services:
watcharr:
image: ghcr.io/sbondco/watcharr:latest
container_name: watcharr
ports:
- 3080:3080
volumes:
- ./data:/data
restart: unless-stopped
Salviamo le modifiche appena inserite con la combinazione di tasti CTRL+O e chiudiamo nano con CTRL+X. Infine avviamo il container di Watcharr con questo comando:
docker compose up -d
Accedere alla web interface di Watcharr
Arrivati a questo punto siamo finalmente pronti per accedere alla comoda interfaccia web di Watcharr. Per farlo basta aprire il nostro browser preferito e digitare:
192.168.1.12:3080
La prima parte di questo URL è l'IP locale del Raspberry Pi. Se non conosciamo tale dato possiamo reperirlo con questo comando in bash:
hostname -I
Il numero 3080
è invece la porta su cui è in ascolto il web server di Watcharr. Questo dato è reperibile nel Docker compose file del container.
Al primo avvio della web interface ci viene proposto di impostare username e password, poi saremo pronti per aggiungere i nostro show e film che stiamo seguendo. È anche possibile importare una lista se abbiamo a disposizione un file in un formato compatibile.
Tenere aggiornato il container Docker di Watcharr
Ogni tanto i developer del progetto rilasciano qualche update che potrebbe contenere dei bugfix importanti o magari delle nuove feature. Ecco perché è bene tenere aggiornato il container di Watcharr.
Fortunatamente eseguire l'upgrade di un container Docker è semplicissimo. Prima di tutto torniamo all'interno dell'apposita directory:
cd /opt/stacks/watcharr
indichiamo a Docker di reperire la nuova release del container:
docker compose pull
ed infine avviamo il tutto:
docker compose up -d
Come potrete notare anche la manutenzione di Watcharr è alla portata di tutti gli utenti, anche di coloro che sono approdati di recente su una distribuzione Linux.