Come auto-ospitare un lettore RSS con FreshRSS

Una fotografia di un laptop su un tavolo all'interno di un caffè.

FreshRSS è un lettore di feed RSS semplice e facile da implementare basato sul web per server Linux. Simile a Tiny Tiny RSS, funziona fornendo un’interfaccia pulita e multipiattaforma a cui puoi accedere dal tuo browser web.

Questo articolo ti mostrerà come installare FreshRSS su Ubuntu. Metteremo anche in evidenza come puoi configurare il lettore per una sessione multi-utente.

Indice dei contenuti

  • Perché FreshRSS?
  • Installazione di FreshRSS
  • Configurazione del reverse proxy e SSL
  • Accesso e configurazione di FreshRSS

Perché FreshRSS?

Uno dei principali punti di forza di FreshRSS è che viene fornito con un web scraper integrato. Questo significa che puoi creare feed RSS di base anche su siti web che non lo supportano.

Uno screenshot che mostra lo strumento di web scraping di FreshRSS.

FreshRSS supporta anche le notifiche push su piattaforme di contenuti moderne. Di conseguenza, la piattaforma può essere incredibilmente veloce e reattiva agli aggiornamenti dei post. Infine, è anche semplice da installare, il che lo rende un progetto ideale per utenti principianti che stanno appena iniziando con l’auto-ospitalità.

Uno screenshot che mostra un'istanza di FreshRSS completamente funzionante.

Installazione di FreshRSS

Assunzione: Questo articolo presume che tu abbia un nome di dominio funzionante con un record A e PTR che punta all’indirizzo IP e al nome host della tua istanza VPS.

Useremo Docker per installare FreshRSS.

Installare Docker

Recupera la chiave di firma del repository Docker dal sito web del progetto:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o/etc/apt/keyrings/docker.gpg  
sudochmod a+r /etc/apt/keyrings/docker.gpg

Crea un nuovo file di repository per Docker:

sudonano/etc/apt/sources.list.d/docker.list

Scrivi la seguente riga di codice all’interno del tuo nuovo file di repository:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

Aggiorna i repository di sistema, aggiorna il sistema e installa i binari di Docker:

sudo apt update &&sudo apt upgrade  
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx

Costruire il contenitore Docker di FreshRSS

Crea una nuova directory nella home del tuo utente per FreshRSS e accedi ad essa:

mkdir ~/freshrss &&cd ~/freshrss

Crea un file “docker-compose.yml” utilizzando il tuo editor di testo preferito:

nano ./docker-compose.yml

Incolla il seguente blocco di codice all’interno del tuo nuovo file docker-compose:

---  
version: "2.4"  
volumes:  
  data: null  
  extensions: null  
services:  
  freshrss:  
    image: freshrss/freshrss:latest  
    build:  
      context: https://github.com/FreshRSS/FreshRSS.git#latest  
      dockerfile: Docker/Dockerfile-Alpine  
    container_name: freshrss  
    hostname: freshrss  
    restart: unless-stopped  
    logging:  
      options:  
        max-size: 10m  
    volumes:  
      - data:/var/www/FreshRSS/data  
      - extensions:/var/www/FreshRSS/extensions  
    ports:  
      - "8080:80"  
    environment:  
      TZ: Asia/Manila # CAMBIA CON IL TUO FUSO ORARIO  
      CRON_MIN: 3,33

Salva il tuo file docker-compose.yml. Esegui il seguente comando per costruire il tuo contenitore docker:

sudodocker compose up -d

Configurazione del reverse proxy e SSL

Una volta che l’istanza di FreshRSS è attiva e funzionante, configureremo Nginx per fare un reverse proxy in modo da poterla accedere pubblicamente tramite il tuo nome di dominio.

Per iniziare, crea un file di configurazione del sito Nginx per la tua istanza:

sudonano/etc/nginx/sites-available/freshrss

Incolla il seguente blocco di codice all’interno del tuo nuovo file di configurazione del sito:

server {  
    listen 80;  
    listen [::]:80;  
  
    root                    /var/www/html;  
    server_name             freshrss.tuo-nome-di-dominio.quì;  
  
    location /{  
        proxy_set_header    X-Forwarded-For $remote_addr;  
        proxy_set_header    Host $http_host;  
        proxy_set_header    X-Forwarded-Proto $scheme;  
        proxy_pass          http://localhost:8080;  
}  
}

Salva il tuo nuovo file di configurazione del sito ed esegui il seguente comando per creare un collegamento simbolico a “/etc/nginx/sites-enabled”:

sudoln-s/etc/nginx/sites-available/freshrss /etc/nginx/sites-enabled/

Testa la tua configurazione Nginx:

sudo nginx -t

Se tutto va bene, ricarica il demone del server Nginx e abilitalo all’avvio del sistema:

sudo systemctl reload nginx

Abilitare SSL per la tua istanza

Per ottenere un certificato SSL, installa il demone core snap sul tuo sistema:

sudo snap install core

Recupera e installa l’utilità certbot della Electronic Frontier Foundation (EFF) utilizzando snap:

sudo snap install certbot --classic

Registra la tua installazione di certbot con l’EFF eseguendo il seguente comando:

sudo certbot register --agree-tos-m [email protected]

Richiedi un certificato SSL per la tua istanza eseguendo il seguente comando:

sudo certbot --nginx-d tuo-nome-di-dominio-freshrss

Accesso e configurazione di FreshRSS

Apri un browser web e naviga all’indirizzo della tua nuova istanza FreshRSS. Clicca sulla lista a discesa nella pagina e seleziona la lingua che desideri che FreshRSS utilizzi, quindi clicca su “Invia”.

Uno screenshot che mostra il prompt di selezione della lingua per FreshRSS.

Facendo ciò si caricherà il modulo di autovalutazione di FreshRSS che controllerà se l’istanza attuale è in esecuzione correttamente. Per continuare, scorri fino in fondo alla pagina, quindi clicca su “Vai al passaggio successivo.”

Uno screenshot che mostra il prompt di controllo delle dipendenze.

Clicca sulla lista a discesa, seleziona “SQLite” e poi clicca su “Invia.”

Uno screenshot che mostra il prompt di selezione del database.

Compila i dettagli dell’utente amministratore della tua istanza, quindi clicca su “Invia” per crearlo.

Uno screenshot che mostra i dettagli dell'utente amministratore per questa istanza.

Clicca su “Completa installazione” per avviare correttamente la tua nuova istanza FreshRSS.

Abilitare la registrazione degli utenti

Per iniziare, accedi al tuo account amministratore FreshRSS, quindi clicca sull’icona dell’ingranaggio nell’angolo in alto a destra della pagina.

Uno screenshot che evidenzia il pulsante delle impostazioni per FreshRSS.

Scorri fino alla categoria “Amministrazione”, quindi seleziona “Configurazione di sistema.”

Vai alla sottocategoria “Modulo di registrazione utenti”, clicca sulla casella a discesa accanto a “Modulo di registrazione”, quindi seleziona l’opzione “Abilitato: Nessun limite di account.”

Uno screenshot che mostra l'interruttore di registrazione per l'istanza FreshRSS.

Salva la tua nuova configurazione del sito cliccando sul pulsante “Invia” in fondo alla pagina.

Cancellare i dati di un utente esistente

Vai al tuo account amministratore FreshRSS, quindi clicca sull’icona dell’ingranaggio nell’angolo in alto a destra della pagina.

Vai alla categoria “Amministrazione”, quindi seleziona “Gestisci utenti.”

Questo aprirà una pagina con un elenco degli attuali utenti nella tua istanza FreshRSS. Clicca sul nome dell’utente che desideri disabilitare.

Uno screenshot che evidenzia il nome utente cliccabile all'interno del prompt di gestione utenti.

Clicca sul pulsante “Purge” per cancellare i feed RSS dell’utente.

Uno screenshot che evidenzia il pulsante

Ospitare il proprio lettore di feed RSS basato sul web è solo l’inizio per prendere il controllo dei propri dati personali online. Scopri come puoi ospitare il tuo sito di condivisione video con Peertube.

Crediti immagine: Yongma Seo tramite Unsplash e FreshRSS Github (Logo). Tutte le modifiche e gli screenshot di Ramces Red.