Tropic Host

FreshRSS: ni nini na jinsi ya kuisakinisha kwenye VPS

Kusoma kwa 6 min
Tropic
FreshRSS: ni nini na jinsi ya kuisakinisha kwenye VPS

Language: sw

FreshRSS: mpasho wako wa habari bila algoriti

Mitandao ya kijamii huamua machapisho utakayoona kwanza. Kwa hiyo, taarifa muhimu ya mradi inaweza kupitwa kwa urahisi huku mapendekezo mengi yakichukua nafasi yake. FreshRSS hufanya kazi tofauti: wewe huchagua vyanzo, na maudhui mapya huonekana katika mpasho mmoja wa mpangilio wa wakati.

FreshRSS inaweza kusakinishwa kwenye seva yako mwenyewe na kutumika kama kikasha kimoja cha blogu, tovuti za habari, masasisho ya programu, mabaraza, podikasti na vyanzo vingine vinavyotoa mipasho ya RSS au Atom. Mwongozo huu unaeleza vipengele vya programu, mahitaji ya seva, na usakinishaji kwenye VPS kwa Docker na HTTPS.

FreshRSS katika hatua tano

  1. Unda VPS ya Linux na uelekeze subdomain kwake, kwa mfano rss.example.com.
  2. Sakinisha Docker na Docker Compose.
  3. Endesha FreshRSS pamoja na Caddy kwa HTTPS ya kiotomatiki.
  4. Fungua subdomain, chagua SQLite, na unda akaunti.
  5. Ingiza usajili kutoka OPML au ongeza tovuti wewe mwenyewe.

Baada ya hapo, VPS itakagua vyanzo kwa ratiba hata kompyuta ya mtumiaji ikiwa imezimwa.

FreshRSS ni nini?

FreshRSS ni kikusanyaji cha RSS na Atom kisicholipishwa kinachojihudumia. Kujihudumia kunamaanisha programu na hifadhidata vinafanya kazi kwenye seva unayoidhibiti, badala ya miundombinu ya huduma ya wingu.

Mpasho wa RSS ni faili maalumu ambayo tovuti husasisha kila inapochapisha maudhui mapya. FreshRSS huchukua faili hizi mara kwa mara kutoka kwenye vyanzo vilivyochaguliwa na kuunganisha machapisho yake katika kiolesura kimoja. Makala ambazo hazijasomwa, vipendwa na historia ya usomaji husawazishwa kwenye vifaa vyote.

Wazo kuu ni rahisi: watumiaji huamua wenyewe wa kuwafuata na mpangilio wa kuona machapisho. FreshRSS haipangi machapisho kulingana na ushiriki na haiingizi maudhui yanayopendekezwa kati ya usajili wako.

Vipengele vya FreshRSS

KipengeleHutumika kwa
Kategoria, hali na vipendwaKutenganisha vyanzo vya kazi, kiufundi na binafsi
Utafutaji, vichujio na hoja zilizohifadhiwaKuonyesha machapisho ya mada iliyochaguliwa pekee
Uingizaji na uhamishaji wa OPMLKuhamisha orodha ya usajili kwa haraka
Google Reader API na Fever APIKuunganisha programu za simu na kompyuta zinazooana
WebSubKupokea machapisho mara tu yanapochapishwa kutoka vyanzo vinavyounga mkono
Watumiaji wengiKuunda akaunti tofauti za familia au timu
Mandhari na viendeleziKubadilisha kiolesura na kuongeza vipengele
XPath na JSON FeedKufuatilia baadhi ya vyanzo visivyo na mpasho wa kawaida wa RSS au Atom

Hoja iliyohifadhiwa inaweza kuwa mpasho tofauti wa mada, kwa mfano unaojumuisha machapisho ya usalama pekee au masasisho ya bidhaa fulani. Matokeo yanaweza kufunguliwa ndani ya FreshRSS au kuchapishwa kama HTML au RSS; OPML pia inapatikana kwa orodha za mipasho.

WebSub huruhusu tovuti inayooana kuijulisha FreshRSS kuhusu chapisho jipya badala ya kusubiri ukaguzi unaofuata uliopangwa. Ili hii ifanye kazi, sampuli ya FreshRSS lazima ipatikane kutoka mtandaoni kupitia anwani halali ya umma.

FreshRSS ni muhimu sana kwa wasanidi programu na wasimamizi wa mifumo: blogu za miradi, matoleo mapya, ripoti za hitilafu na machapisho ya usalama yanaweza kukusanywa katika mpasho mmoja. Kwa usomaji wa kila siku, inachukua nafasi ya vichupo vingi vilivyo wazi na husawazisha hali halisi ya usomaji kwenye vifaa vyote.

Mahitaji ya mfumo ya FreshRSS

FreshRSS hutumia rasilimali chache. Inaunga mkono SQLite, PostgreSQL, MariaDB na MySQL, huku usakinishaji wa mkono ukihitaji seva ya wavuti na PHP 8.1 au mpya zaidi. Maelezo rasmi yanajumuisha hata jaribio kwenye Raspberry Pi 1 lenye mipasho 150 na makala 22,000.

Mipangilio ya kuanzia inayofaa:

HaliCPURAMHifadhiHifadhidata
Mpasho binafsi1 vCPU1 GB10–20 GB SSDSQLite
Familia au timu ndogo1–2 vCPU2 GB20–40 GB SSDSQLite au hifadhidata ya nje
Watumiaji wengi na kumbukumbu kubwaKuanzia 2 vCPUKuanzia 4 GBKuanzia 40 GB SSDPostgreSQL au MariaDB

Hizi ni miongozo, si viwango vya chini vya lazima. Matumizi ya hifadhi hutegemea idadi ya vyanzo, mara kwa mara ya uchapishaji na muda wa kuhifadhi historia. VPS ni rahisi zaidi kuliko kompyuta ya nyumbani unapohitaji masasisho ya saa zote, ufikiaji wa nje, usawazishaji wa simu na WebSub.

Jinsi ya kusakinisha FreshRSS kwenye VPS kwa Docker

Katika usanidi ulio hapa chini, FreshRSS inaendeshwa nyuma ya Caddy. Caddy hupokea maombi ya nje na hupata cheti cha TLS kiotomatiki.

Utahitaji VPS ya Linux, Docker iliyosakinishwa pamoja na amri ya docker compose, subdomain yenye rekodi A inayoelekeza kwenye anwani ya IP ya seva, na milango 80 na 443 iliyofunguliwa.

Hatua ya 1. Unda saraka

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

Hatua ya 2. Unda 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' huanzisha ukaguzi wa mipasho dakika ya 3 na ya 33 ya kila saa. FreshRSS haisasishi mpasho mmoja mara nyingi zaidi ya takribani mara moja kila dakika 20, hivyo kuendesha kazi mara nyingi zaidi kwa kawaida si lazima.

Hatua ya 3. Unda Caddyfile

rss.example.com {
    reverse_proxy freshrss:80
}

Badilisha domain iwe yako. Baada ya rekodi ya DNS kusambaa na milango kupatikana, Caddy itapata na kusasisha cheti kiotomatiki.

Hatua ya 4. Anzisha FreshRSS

docker compose up -d
docker compose ps

Unaweza kukagua kumbukumbu kwa amri hii:

docker compose logs -f --tail=100

Fungua https://rss.example.com. Mchawi wa usakinishaji utakagua mazingira, utakuomba uchague hifadhidata na kuunda mtumiaji wa kwanza. SQLite ni chaguo rahisi zaidi kwa seva binafsi kwa sababu haihitaji kontena tofauti la hifadhidata.

Usanidi wa awali

FreshRSS mara nyingi inaweza kugundua mpasho wa RSS au Atom kutoka anwani ya kawaida ya tovuti. Ikiwa ugunduzi wa kiotomatiki haufanyi kazi, ingiza URL ya moja kwa moja ya mpasho. Usajili kutoka Feedly, Inoreader na visomaji vingine unaweza kuhamishwa kwa urahisi kupitia OPML.

Panga vyanzo mara moja katika kategoria kama “soma lazima,” “kazi,” “usalama,” “makala ndefu” na “usomaji wa ziada.” Tovuti za habari zenye machapisho mengi hazipaswi kusukuma masasisho muhimu kutoka kwenye mpasho mkuu.

Ili kuunganisha programu, wezesha API katika mipangilio ya uthibitishaji na weka nenosiri tofauti la API kwenye wasifu. Anwani ya Google Reader API inaonekana hivi:

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

Ni bora kutotumia nenosiri moja kwa akaunti kuu na API.

Jinsi ya kuepuka kuzidiwa na makala ambazo hazijasomwa

FreshRSS huwa na manufaa zaidi baada ya usanidi mdogo:

  • weka vyanzo muhimu pekee kwenye mpasho mkuu;
  • tumia vichujio kuweka sehemu zisizo za lazima kuwa zimesomwa kiotomatiki;
  • hifadhi utafutaji wa bidhaa, waandishi na mada;
  • kagua takwimu mara kwa mara na uondoe vyanzo vinavyotengeneza kelele pekee.

Viendelezi vinaweza kuongeza makadirio ya muda wa kusoma, uangazaji wa maneno, proksi ya picha, upachikaji wa YouTube, arifa za webhook na uainishaji wa makala kupitia LLM API inayooana. Sakinisha programu-jalizi za wahusika wengine kutoka vyanzo vinavyoaminika pekee.

Masasisho, usalama na nakala rudufu

Ili kusasisha makontena, endesha:

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

Unda nakala rudufu kabla ya sasisho kubwa. Juzuu ya freshrss_data ina mipangilio ya mtumiaji na, unapotumia SQLite, hifadhidata ya makala. Hifadhi pia freshrss_extensions ikiwa unatumia viendelezi. PostgreSQL, MariaDB na MySQL zinahitaji dump tofauti ya hifadhidata.

Hatua za chini za usalama:

  • tumia HTTPS;
  • zima usajili wa wazi baada ya kuunda akaunti zinazohitajika;
  • usiwashie ufikiaji usiojulikana isipokuwa iwe lazima;
  • tumia nenosiri tofauti la API;
  • sasisha FreshRSS na viendelezi vyake mara kwa mara;
  • hifadhi nakala nje ya VPS.

Uhamishaji wa OPML hauchukui nafasi ya nakala kamili, lakini hurahisisha kurejesha orodha ya usajili haraka katika kisomaji chochote cha RSS kinachoendana.

FreshRSS kwenye VPS ya tropic.host

FreshRSS ni huduma nzuri ya kwanza ya kujihudumia: inahitaji rasilimali chache, inaendeshwa kwenye Docker na huwa na manufaa mara tu baada ya kuingiza usajili. VPS ya umma hutoa masasisho ya mipasho 24/7, ufikiaji kutoka kwa simu na uendeshaji sahihi wa WebSub.

Usanidi mdogo wa Linux kwa kawaida unatosha kwa usakinishaji binafsi. Kwenye tropic.host, unaweza kuipa FreshRSS subdomain yake, kuanza na VPS ya kiwango cha awali na kuweka huduma ikiwa huru kutoka kwa kompyuta yako ya nyumbani. Unapochagua mpango, uthabiti, hifadhi ya kumbukumbu na nakala rudufu ni muhimu kuliko akiba kubwa ya nguvu ya kuchakata.

Hitimisho

FreshRSS hubadilisha tovuti kadhaa kuwa mpasho binafsi unaoweza kudhibitiwa bila kupanga kwa algoriti. Inaunga mkono wateja wa simu, vichujio, hoja zilizohifadhiwa, watumiaji wengi, WebSub na viendelezi, huku ikiwa nyepesi kwa VPS ndogo.

Unahitaji Docker, domain na SQLite ili kuanza. Baada ya usakinishaji, sanidi kategoria, masasisho ya kiotomatiki, HTTPS na nakala rudufu. Kisha FreshRSS itaonyesha vyanzo ulivyochagua pekee na kuweka udhibiti wa usomaji mikononi mwa mtumiaji.

FAQ

FreshRSS ni ya bure?

Ndiyo. FreshRSS inasambazwa chini ya leseni ya AGPL-3.0. Unahitaji kulipia miundombinu pekee ikiwa programu inaendeshwa kwenye VPS ya kukodi.

FreshRSS inaweza kutumika bila domain?

Ndiyo, kwa kufichua mlango wa kontena. Kwa matumizi ya kudumu, ni bora kusanidi domain na HTTPS kwa sababu hii hurahisisha ufikiaji salama, usawazishaji wa simu na WebSub.

FreshRSS inahitaji RAM kiasi gani?

Kwa mpasho binafsi, kuanza na RAM 1 GB na SQLite ni jambo la busara. Kumbukumbu kubwa, watumiaji wengi au huduma za ziada zitahitaji kumbukumbu zaidi.

Ninaweza kuongeza tovuti isiyo na RSS?

Wakati mwingine. FreshRSS inasaidia web scraping kupitia XPath, lakini sheria lazima zisanidiwe kwa mkono. Muundo wa tovuti ukibadilika, chanzo hicho kinaweza kuhitaji kurekebishwa.

Ni nini lazima kihifadhiwe kwenye nakala rudufu?

Kwanza hifadhi juzuu ya freshrss_data: unapotumia SQLite, ina hifadhidata ya makala. Hifadhi pia freshrss_extensions na uunde dumps za hifadhidata yoyote ya nje.