Tropic Host

FreshRSS: ce este și cum îl instalezi pe un VPS

7 min citire
Tropic
FreshRSS: ce este și cum îl instalezi pe un VPS

Language: ro

FreshRSS: propriul flux de știri fără algoritmi

Rețelele sociale decid ce postări să afișeze mai întâi. Astfel, o actualizare importantă a unui proiect poate fi ratată ușor, în timp ce zeci de recomandări îi iau locul. FreshRSS funcționează diferit: tu alegi sursele, iar conținutul nou apare într-un singur flux cronologic.

FreshRSS poate fi instalat pe propriul server și folosit ca inbox unificat pentru bloguri, site-uri de știri, actualizări software, forumuri, podcasturi și alte surse care oferă fluxuri RSS sau Atom. Acest ghid prezintă funcțiile aplicației, cerințele serverului și instalarea pe un VPS cu Docker și HTTPS.

FreshRSS în cinci pași

  1. Creează un VPS Linux și indică spre el un subdomeniu, de exemplu rss.example.com.
  2. Instalează Docker și Docker Compose.
  3. Rulează FreshRSS împreună cu Caddy pentru HTTPS automat.
  4. Deschide subdomeniul, alege SQLite și creează un cont.
  5. Importă abonamentele din OPML sau adaugă manual site-urile.

După aceea, VPS-ul va verifica sursele conform programului chiar și atunci când computerul utilizatorului este oprit.

Ce este FreshRSS?

FreshRSS este un agregator RSS și Atom gratuit, auto-găzduit. Auto-găzduirea înseamnă că aplicația și baza de date rulează pe un server controlat de tine, nu pe infrastructura unui serviciu cloud.

Un flux RSS este un fișier special pe care un site îl actualizează ori de câte ori publică un material nou. FreshRSS preia periodic aceste fișiere din sursele selectate și combină intrările într-o singură interfață. Articolele necitite, favoritele și istoricul lecturii se sincronizează între dispozitive.

Ideea principală este simplă: utilizatorii decid singuri pe cine urmăresc și în ce ordine văd publicațiile. FreshRSS nu ordonează intrările după gradul de implicare și nu inserează conținut recomandat între abonamente.

Funcțiile FreshRSS

FuncțiePentru ce este folosită
Categorii, stări și favoriteSepararea surselor de lucru, tehnice și personale
Căutare, filtre și interogări salvateAfișarea publicațiilor despre un subiect ales
Import și export OPMLTransferul rapid al listei de abonamente
Google Reader API și Fever APIConectarea aplicațiilor compatibile pentru mobil și desktop
WebSubPrimirea intrărilor imediat după publicare de la sursele compatibile
Utilizatori multipliCrearea conturilor separate pentru familie sau echipă
Teme și extensiiSchimbarea interfeței și adăugarea de funcții
XPath și JSON FeedAbonarea la unele surse fără flux RSS sau Atom standard

O interogare salvată poate deveni un flux separat pe subiect, de exemplu unul cu numai publicații de securitate sau actualizări pentru un anumit produs. Rezultatul poate fi deschis în FreshRSS sau publicat ca HTML ori RSS; OPML este disponibil și pentru listele de fluxuri.

WebSub permite unui site compatibil să anunțe FreshRSS despre o intrare nouă, în loc să aștepte următoarea verificare programată. Pentru aceasta, instanța FreshRSS trebuie să fie accesibilă din internet printr-o adresă publică validă.

FreshRSS este deosebit de util pentru dezvoltatori și administratori de sistem: blogurile proiectelor, lansările, rapoartele de incidente și publicațiile de securitate pot fi adunate într-un singur flux. Pentru lectura zilnică, înlocuiește zeci de file deschise și păstrează sincronizată starea exactă a lecturii pe toate dispozitivele.

Cerințele de sistem pentru FreshRSS

FreshRSS are nevoie de puține resurse. Suportă SQLite, PostgreSQL, MariaDB și MySQL, iar instalarea manuală necesită un server web și PHP 8.1 sau mai nou. Descrierea oficială menționează chiar un test pe Raspberry Pi 1 cu 150 de fluxuri și 22,000 de articole.

Configurații practice de început:

ScenariuCPURAMStocareBază de date
Flux personal1 vCPU1 GB10–20 GB SSDSQLite
Familie sau echipă mică1–2 vCPU2 GB20–40 GB SSDSQLite sau bază de date externă
Mulți utilizatori și arhivă mareDe la 2 vCPUDe la 4 GBDe la 40 GB SSDPostgreSQL sau MariaDB

Acestea sunt orientări, nu valori minime stricte. Consumul de stocare depinde de numărul surselor, frecvența publicării și perioada de păstrare a istoricului. Un VPS este mai comod decât un computer de acasă când ai nevoie de actualizări permanente, acces extern, sincronizare mobilă și WebSub.

Cum instalezi FreshRSS pe un VPS cu Docker

În configurația de mai jos, FreshRSS rulează în spatele Caddy. Caddy primește cererile externe și obține automat un certificat TLS.

Vei avea nevoie de un VPS Linux, Docker instalat cu comanda docker compose, un subdomeniu cu o înregistrare A care indică spre IP-ul serverului și porturile 80 și 443 deschise.

Pasul 1. Creează un director

sudo mkdir -p /opt/freshrss
sudo chown "$USER":"$USER" /opt/freshrss
cd /opt/freshrss

Pasul 2. Creează compose.yaml

services:
  freshrss:
    image: freshrss/freshrss:latest
    container_name: freshrss
    restart: unless-stopped
    logging:
      options:
        max-size: 10m
    environment:
      TZ: Etc/UTC
      CRON_MIN: '3,33'
      FRESHRSS_ENV: production
      TRUSTED_PROXY: 172.16.0.0/12
    volumes:
      - freshrss_data:/var/www/FreshRSS/data
      - freshrss_extensions:/var/www/FreshRSS/extensions

  caddy:
    image: caddy:2
    container_name: freshrss-caddy
    restart: unless-stopped
    depends_on:
      - freshrss
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - caddy_data:/data
      - caddy_config:/config

volumes:
  freshrss_data:
  freshrss_extensions:
  caddy_data:
  caddy_config:

CRON_MIN: '3,33' pornește verificarea fluxurilor în minutele 3 și 33 ale fiecărei ore. FreshRSS nu actualizează un flux individual mai des de aproximativ o dată la 20 de minute, deci de obicei nu este necesar să rulezi sarcina mai frecvent.

Pasul 3. Creează Caddyfile

rss.example.com {
    reverse_proxy freshrss:80
}

Înlocuiește domeniul cu al tău. După propagarea înregistrării DNS și deschiderea porturilor, Caddy va obține și reînnoi automat certificatul.

Pasul 4. Pornește FreshRSS

docker compose up -d
docker compose ps

Poți verifica jurnalele cu această comandă:

docker compose logs -f --tail=100

Deschide https://rss.example.com. Asistentul de instalare va verifica mediul, îți va cere să alegi o bază de date și va crea primul utilizator. SQLite este cea mai simplă alegere pentru un server personal, deoarece nu necesită un container separat pentru baza de date.

Configurarea inițială

FreshRSS poate descoperi adesea un flux RSS sau Atom din adresa obișnuită a unui site. Dacă descoperirea automată nu funcționează, introdu URL-ul direct al fluxului. Abonamentele din Feedly, Inoreader și alți cititori pot fi transferate convenabil prin OPML.

Organizează imediat sursele în categorii precum „de citit neapărat”, „muncă”, „securitate”, „lecturi lungi” și „lectură de fundal”. Site-urile de știri cu volum mare nu ar trebui să elimine actualizările importante din fluxul principal.

Pentru a conecta o aplicație, activează API-ul în setările de autentificare și configurează o parolă API separată în profil. Adresa Google Reader API arată astfel:

https://rss.example.com/api/greader.php

Este mai bine să nu folosești aceeași parolă pentru contul principal și API.

Cum să nu te îneci în articole necitite

FreshRSS devine mai util după câteva configurări:

  • păstrează numai sursele importante în fluxul principal;
  • folosește filtre pentru a marca automat secțiunile inutile ca fiind citite;
  • salvează interogări de căutare pentru produse, autori și subiecte;
  • verifică periodic statisticile și elimină sursele care produc doar zgomot.

Extensiile pot adăuga estimări ale timpului de lectură, evidențierea cuvintelor, proxy pentru imagini, încorporare YouTube, notificări webhook și clasificarea articolelor printr-un LLM API compatibil. Instalează add-on-uri terțe numai din surse de încredere.

Actualizări, securitate și copii de rezervă

Pentru a actualiza containerele, rulează:

cd /opt/freshrss
docker compose pull
docker compose up -d

Creează o copie de rezervă înaintea unei actualizări importante. Volumul freshrss_data conține setările utilizatorilor și, când este folosit SQLite, baza de date a articolelor. Păstrează și freshrss_extensions dacă folosești add-on-uri. PostgreSQL, MariaDB și MySQL necesită un dump separat al bazei de date.

Măsuri minime de securitate:

  • folosește HTTPS;
  • dezactivează înregistrarea deschisă după crearea conturilor necesare;
  • nu activa accesul anonim dacă nu este necesar;
  • folosește o parolă API separată;
  • actualizează regulat FreshRSS și extensiile sale;
  • păstrează o copie de rezervă în afara VPS-ului.

Un export OPML nu înlocuiește o copie de rezervă completă, dar permite restabilirea rapidă a listei de abonamente în orice cititor RSS compatibil.

FreshRSS pe un VPS de la tropic.host

FreshRSS este un serviciu bun pentru primul proiect auto-găzduit: necesită puține resurse, rulează în Docker și devine util imediat după importarea abonamentelor. Un VPS public oferă actualizări ale fluxurilor 24/7, acces de pe telefon și funcționare corectă a WebSub.

O configurație Linux mică este de obicei suficientă pentru o instalare personală. Pe tropic.host, poți aloca FreshRSS propriul subdomeniu, începe cu un VPS de bază și menține serviciul independent de computerul de acasă. La alegerea planului, stabilitatea, spațiul pentru arhivă și copiile de rezervă contează mai mult decât o rezervă mare de putere de procesare.

Concluzie

FreshRSS transformă zeci de site-uri într-un flux personal ușor de gestionat, fără clasare algoritmică. Suportă clienți mobili, filtre, interogări salvate, utilizatori multipli, WebSub și extensii, rămânând suficient de ușor pentru un VPS mic.

Pentru început ai nevoie de Docker, un domeniu și SQLite. După instalare, configurează categoriile, actualizările automate, HTTPS și copiile de rezervă. FreshRSS va afișa apoi numai sursele alese de tine și va lăsa controlul lecturii în mâinile utilizatorului.

Întrebări frecvente

FreshRSS este gratuit?

Da. FreshRSS este distribuit sub licența AGPL-3.0. Plătești doar infrastructura dacă aplicația rulează pe un VPS închiriat.

Poate fi folosit FreshRSS fără domeniu?

Da, prin expunerea portului containerului. Pentru utilizare permanentă, este mai bine să configurezi un domeniu și HTTPS, deoarece acestea simplifică accesul securizat, sincronizarea mobilă și WebSub.

De câtă memorie RAM are nevoie FreshRSS?

Pentru un flux personal, este rezonabil să începi cu 1 GB RAM și SQLite. O arhivă mare, mai mulți utilizatori sau servicii suplimentare vor necesita mai multă memorie.

Pot adăuga un site fără RSS?

Uneori. FreshRSS acceptă web scraping prin XPath, dar regulile trebuie configurate manual. Dacă aspectul site-ului se schimbă, este posibil să fie nevoie să repari sursa.

Ce trebuie salvat?

În primul rând, fă backup volumului freshrss_data: atunci când folosești SQLite, acesta conține baza de date a articolelor. Păstrează și freshrss_extensions și creează dump-uri pentru orice bază de date externă.