Tropic Host

FreshRSS: nədir və VPS-də necə quraşdırılır

8 dəqiqə oxu
Tropic
FreshRSS: nədir və VPS-də necə quraşdırılır

Language: az

FreshRSS: alqoritmlərsiz öz xəbər lentiniz

Sosial şəbəkələr hansı paylaşımları əvvəl görəcəyinizə qərar verir. Buna görə də mühüm layihə yeniləməsi asanlıqla gözdən qaça, onun yerini isə onlarla tövsiyə tuta bilər. FreshRSS fərqli işləyir: mənbələri siz seçirsiniz və yeni məzmun vahid xronoloji lentdə görünür.

FreshRSS-i öz serverinizdə quraşdırmaq və bloqlar, xəbər saytları, proqram yeniləmələri, forumlar, podkastlar və RSS və ya Atom lenti təqdim edən digər mənbələr üçün vahid gələnlər qutusu kimi istifadə etmək olar. Bu təlimatda tətbiqin imkanları, server tələbləri və Docker ilə HTTPS istifadə edərək VPS-də quraşdırılması izah olunur.

FreshRSS beş addımda

  1. Linux VPS yaradın və ona bir subdomain yönəldin, məsələn rss.example.com.
  2. Docker və Docker Compose quraşdırın.
  3. Avtomatik HTTPS üçün FreshRSS-i Caddy ilə birlikdə işə salın.
  4. Subdomain-i açın, SQLite seçin və hesab yaradın.
  5. Abunəlikləri OPML-dən idxal edin və ya saytları əl ilə əlavə edin.

Bundan sonra VPS istifadəçinin kompüteri söndürülmüş olsa belə, mənbələri cədvəl üzrə yoxlayacaq.

FreshRSS nədir?

FreshRSS pulsuz, öz serverinizdə yerləşdirilən RSS və Atom aqreqatorudur. Öz serverində yerləşdirmə o deməkdir ki, tətbiq və verilənlər bazası bulud xidmətinin infrastrukturunda deyil, nəzarət etdiyiniz serverdə işləyir.

RSS lenti saytın yeni məzmun dərc ediləndə yenilədiyi xüsusi fayldır. FreshRSS bu faylları seçilmiş mənbələrdən müntəzəm götürür və yazıları bir interfeysdə birləşdirir. Oxunmamış məqalələr, sevimlilər və oxu tarixçəsi cihazlar arasında sinxronlaşdırılır.

Əsas fikir sadədir: istifadəçilər kimi izləyəcəklərinə və nəşrlərə hansı ardıcıllıqla baxacaqlarına özləri qərar verirlər. FreshRSS yazıları cəlbediciliyə görə sıralamır və abunəliklərin arasına tövsiyə olunan məzmun əlavə etmir.

FreshRSS imkanları

İmkanNə üçün istifadə olunur
Kateqoriyalar, statuslar və sevimlilərİş, texniki və şəxsi mənbələri ayırmaq üçün
Axtarış, filtrlər və saxlanmış sorğularYalnız seçilmiş mövzudakı nəşrləri göstərmək üçün
OPML idxalı və ixracıAbunəlik siyahısını tez köçürmək üçün
Google Reader API və Fever APIUyğun mobil və masaüstü tətbiqləri qoşmaq üçün
WebSubDəstəklənən mənbələrdə dərcdən dərhal sonra yazıları almaq üçün
Bir neçə istifadəçiAilə və ya komanda üçün ayrıca hesablar yaratmaq üçün
Mövzular və genişlənmələrİnterfeysi dəyişmək və imkanlar əlavə etmək üçün
XPath və JSON FeedStandart RSS və ya Atom lenti olmayan bəzi mənbələrə abunə olmaq üçün

Saxlanmış sorğu ayrıca mövzu əsaslı lentə çevrilə bilər, məsələn yalnız təhlükəsizlik nəşrlərini və ya müəyyən məhsulun yeniləmələrini göstərən lentə. Nəticə FreshRSS daxilində açıla və ya HTML yaxud RSS kimi yayımlana bilər; lent siyahıları üçün OPML də mövcuddur.

WebSub uyğun saytın növbəti planlı yoxlamanı gözləmək əvəzinə yeni yazı barədə FreshRSS-ə xəbər verməsinə imkan yaradır. Bunun işləməsi üçün FreshRSS instansiyası düzgün ictimai ünvan vasitəsilə internetdən əlçatan olmalıdır.

FreshRSS xüsusilə proqramçılar və sistem administratorları üçün faydalıdır: layihə bloqları, buraxılışlar, insident hesabatları və təhlükəsizlik nəşrləri bir lentdə toplana bilər. Gündəlik oxu zamanı onlarla açıq brauzer vərəqini əvəz edir və dəqiq oxu statusunu bütün cihazlarda sinxron saxlayır.

FreshRSS sistem tələbləri

FreshRSS az resurs tələb edir. SQLite, PostgreSQL, MariaDB və MySQL-i dəstəkləyir, əl ilə quraşdırma üçün isə veb server və PHP 8.1 və ya daha yeni versiya lazımdır. Rəsmi təsvirə hətta 150 lent və 22 000 məqalə ilə Raspberry Pi 1-də aparılmış test də daxildir.

Praktik başlanğıc konfiqurasiyaları:

SsenariCPURAMYaddaşVerilənlər bazası
Şəxsi lent1 vCPU1 GB10–20 GB SSDSQLite
Ailə və ya kiçik komanda1–2 vCPU2 GB20–40 GB SSDSQLite və ya xarici verilənlər bazası
Çox istifadəçi və böyük arxiv2 vCPU-dan4 GB-dan40 GB SSD-danPostgreSQL və ya MariaDB

Bunlar istiqamətləndirici göstəricilərdir, sərt minimum deyil. Yaddaş sərfi mənbələrin sayından, dərc tezliyindən və tarixçənin nə qədər saxlanmasından asılıdır. Gecə-gündüz yeniləmələr, xarici giriş, mobil sinxronizasiya və WebSub lazım olduqda VPS ev kompüterindən daha rahatdır.

FreshRSS-i Docker ilə VPS-də necə quraşdırmaq olar

Aşağıdakı konfiqurasiyada FreshRSS Caddy-nin arxasında işləyir. Caddy xarici sorğuları qəbul edir və TLS sertifikatını avtomatik əldə edir.

Sizə Linux VPS, docker compose əmri ilə quraşdırılmış Docker, serverin IP ünvanına yönələn A qeydli subdomain və açıq 80 və 443 portları lazım olacaq.

Addım 1. Kataloq yaradın

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

Addım 2. compose.yaml yaradın

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' saatda 3-cü və 33-cü dəqiqələrdə lentlərin yoxlanmasını başladır. FreshRSS ayrı bir lenti təxminən hər 20 dəqiqədən tez yeniləmir, buna görə tapşırığı daha tez-tez icra etmək adətən lazım deyil.

Addım 3. Caddyfile yaradın

rss.example.com {
    reverse_proxy freshrss:80
}

Domeni öz domeninizlə əvəz edin. DNS qeydi yayıldıqdan və portlar əlçatan olduqdan sonra Caddy sertifikatı avtomatik əldə edib yeniləyəcək.

Addım 4. FreshRSS-i işə salın

docker compose up -d
docker compose ps

Loqları bu əmrlə yoxlaya bilərsiniz:

docker compose logs -f --tail=100

https://rss.example.com ünvanını açın. Quraşdırma köməkçisi mühiti yoxlayacaq, verilənlər bazası seçməyinizi istəyəcək və ilk istifadəçini yaradacaq. Şəxsi server üçün SQLite ən sadə seçimdir, çünki ayrıca verilənlər bazası konteyneri tələb etmir.

İlkin konfiqurasiya

FreshRSS çox vaxt saytın adi ünvanından RSS və ya Atom lentini avtomatik tapa bilir. Avtomatik aşkarlama işləməsə, lentin birbaşa URL-ini daxil edin. Feedly, Inoreader və digər oxuyuculardakı abunəlikləri OPML vasitəsilə rahat köçürmək olar.

Mənbələri dərhal “mütləq oxu”, “iş”, “təhlükəsizlik”, “uzun yazılar” və “əlavə oxu” kimi kateqoriyalara ayırın. Çoxlu məzmun dərc edən xəbər saytları həqiqətən vacib yeniləmələri əsas lentdən çıxarmamalıdır.

Tətbiq qoşmaq üçün autentifikasiya parametrlərində API-ni aktivləşdirin və profildə ayrıca API parolu təyin edin. Google Reader API ünvanı belə görünür:

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

Əsas hesab və API üçün eyni paroldan istifadə etməmək daha yaxşıdır.

Oxunmamış məqalələrdə boğulmamaq üçün

FreshRSS kiçik bir konfiqurasiyadan sonra daha faydalı olur:

  • əsas lentdə yalnız vacib mənbələri saxlayın;
  • lazımsız bölmələri avtomatik oxunmuş kimi işarələmək üçün filtrlərdən istifadə edin;
  • məhsullar, müəlliflər və mövzular üçün axtarışları yadda saxlayın;
  • statistikaya mütəmadi baxın və yalnız səs-küy yaradan mənbələri silin.

Genişlənmələr oxuma vaxtı təxminləri, sözlərin vurğulanması, şəkil proksisi, YouTube yerləşdirməsi, webhook bildirişləri və uyğun LLM API vasitəsilə məqalə təsnifatı əlavə edə bilər. Üçüncü tərəf əlavələrini yalnız etibarlı mənbələrdən quraşdırın.

Yeniləmələr, təhlükəsizlik və ehtiyat nüsxələri

Konteynerləri yeniləmək üçün icra edin:

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

Böyük yeniləmədən əvvəl ehtiyat nüsxə yaradın. freshrss_data volume-u istifadəçi parametrlərini və SQLite istifadə ediləndə məqalə verilənlər bazasını saxlayır. Əlavələrdən istifadə edirsinizsə freshrss_extensions-i də qoruyun. PostgreSQL, MariaDB və MySQL üçün ayrıca verilənlər bazası dump-ı lazımdır.

Minimum təhlükəsizlik tədbirləri:

  • HTTPS istifadə edin;
  • lazım olan hesabları yaratdıqdan sonra açıq qeydiyyatı söndürün;
  • zəruri olmadıqca anonim girişi aktivləşdirməyin;
  • ayrıca API parolundan istifadə edin;
  • FreshRSS-i və genişlənmələrini mütəmadi yeniləyin;
  • VPS-dən kənarda ehtiyat nüsxə saxlayın.

OPML ixracı tam ehtiyat nüsxəsini əvəz etmir, amma abunəlik siyahısını uyğun istənilən RSS oxuyucusunda tez bərpa etməyə imkan verir.

tropic.host VPS-də FreshRSS

FreshRSS ilk öz serverində yerləşdirilən xidmət üçün yaxşı seçimdir: az resurs tələb edir, Docker-də işləyir və abunəliklər idxal edilən kimi faydalı olur. İctimai VPS lentlərin 24/7 yenilənməsini, telefondan girişi və WebSub-un düzgün işləməsini təmin edir.

Şəxsi quraşdırma üçün kiçik Linux konfiqurasiyası adətən kifayətdir. tropic.host üzərində FreshRSS üçün ayrıca subdomain ayıra, başlanğıc səviyyəli VPS ilə başlaya və xidməti ev kompüterinizdən müstəqil saxlaya bilərsiniz. Plan seçərkən böyük emal ehtiyatından çox sabitlik, arxiv yaddaşı və ehtiyat nüsxələri vacibdir.

Nəticə

FreshRSS onlarla saytı alqoritmik sıralama olmadan idarə olunan şəxsi lentə çevirir. Mobil müştəriləri, filtrləri, yadda saxlanmış sorğuları, çoxsaylı istifadəçiləri, WebSub-u və genişlənmələri dəstəkləyir, eyni zamanda kiçik VPS üçün kifayət qədər yüngül qalır.

Başlamaq üçün Docker, domen və SQLite lazımdır. Quraşdırmadan sonra kateqoriyaları, avtomatik yeniləmələri, HTTPS-i və ehtiyat nüsxələrini konfiqurasiya edin. Bundan sonra FreshRSS yalnız seçdiyiniz mənbələri göstərəcək və oxuya nəzarəti istifadəçinin əlində saxlayacaq.

FAQ

FreshRSS pulsuzdur?

Bəli. FreshRSS AGPL-3.0 lisenziyası ilə yayımlanır. Tətbiq icarəyə götürülmüş VPS-də işləyirsə, yalnız infrastruktur üçün ödəniş etməlisiniz.

FreshRSS domen olmadan istifadə edilə bilərmi?

Bəli, konteyner portunu açaraq. Daimi istifadə üçün domen və HTTPS konfiqurasiya etmək daha yaxşıdır, çünki bu, təhlükəsiz girişi, mobil sinxronizasiyanı və WebSub-u asanlaşdırır.

FreshRSS nə qədər RAM tələb edir?

Şəxsi lent üçün 1 GB RAM və SQLite ilə başlamaq məqsədəuyğundur. Böyük arxiv, çoxsaylı istifadəçilər və ya əlavə xidmətlər daha çox yaddaş tələb edəcək.

RSS olmayan saytı əlavə edə bilərəmmi?

Bəzən. FreshRSS XPath vasitəsilə veb məlumatlarının çıxarılmasını dəstəkləyir, lakin qaydalar əl ilə konfiqurasiya edilməlidir. Saytın quruluşu dəyişərsə, həmin mənbəni düzəltmək lazım gələ bilər.

Nələrin ehtiyat nüsxəsi yaradılmalıdır?

Əvvəlcə freshrss_data volume-unu arxivləyin: SQLite istifadə ediləndə məqalə verilənlər bazası orada saxlanır. Həmçinin freshrss_extensions-i qoruyun və xarici verilənlər bazalarının dump-larını yaradın.