Tropic Host

FreshRSS. ինչ է այն և ինչպես տեղադրել VPS-ում

1 րոպե կարդալ
Tropic
FreshRSS. ինչ է այն և ինչպես տեղադրել VPS-ում

Language: hy

FreshRSS. Ձեր սեփական նորությունների հոսքը՝ առանց ալգորիթմների

Սոցիալական ցանցերն իրենք են որոշում, թե որ գրառումներն առաջինը ցույց տան։ Դրա հետևանքով կարևոր նախագծի թարմացումը հեշտությամբ կարող է աննկատ մնալ, երբ դրա տեղը զբաղեցնում են տասնյակ առաջարկություններ։ FreshRSS-ն այլ կերպ է աշխատում. դուք եք ընտրում աղբյուրները, իսկ նոր նյութը հայտնվում է մեկ ժամանակագրական հոսքում։

FreshRSS-ը կարելի է տեղադրել ձեր սեփական սերվերում և օգտագործել որպես բլոգների, լրատվական կայքերի, ծրագրային թարմացումների, ֆորումների, փոդքասթների և RSS կամ Atom հոսքեր տրամադրող այլ աղբյուրների միասնական մուտքային արկղ։ Այս ուղեցույցում կքննարկենք հավելվածի հնարավորությունները, սերվերի պահանջները և VPS-ում Docker-ով ու HTTPS-ով տեղադրումը։

FreshRSS-ը հինգ քայլով

  1. Ստեղծեք Linux VPS և դրա վրա ուղղեք ենթադոմեյն, օրինակ՝ rss.example.com։
  2. Տեղադրեք Docker և Docker Compose։
  3. Գործարկեք FreshRSS-ը Caddy-ի հետ՝ ավտոմատ HTTPS-ի համար։
  4. Բացեք ենթադոմեյնը, ընտրեք SQLite և ստեղծեք հաշիվ։
  5. Ներմուծեք բաժանորդագրությունները OPML-ից կամ ձեռքով ավելացրեք կայքերը։

Դրանից հետո VPS-ը ժամանակացույցով կստուգի աղբյուրները, նույնիսկ երբ օգտվողի համակարգիչն անջատված է։

Ի՞նչ է FreshRSS-ը

FreshRSS-ը անվճար, ինքնուրույն հոսթինգով RSS և Atom ագրեգատոր է։ Ինքնուրույն հոսթինգը նշանակում է, որ հավելվածն ու տվյալների բազան աշխատում են ձեր վերահսկած սերվերում, այլ ոչ թե ամպային ծառայության ենթակառուցվածքում։

RSS հոսքը հատուկ ֆայլ է, որը կայքը թարմացնում է նոր նյութ հրապարակելիս։ FreshRSS-ը կանոնավոր կերպով ստանում է այս ֆայլերը ընտրված աղբյուրներից և դրանց գրառումները միավորում մեկ միջերեսում։ Չընթերցված հոդվածները, ընտրյալները և ընթերցման պատմությունը համաժամացվում են սարքերի միջև։

Գաղափարը պարզ է. օգտվողներն իրենք են որոշում, թե ում հետևել և ինչ հերթականությամբ դիտել հրապարակումները։ FreshRSS-ը գրառումները չի դասակարգում ներգրավվածության հիման վրա և բաժանորդագրությունների միջև առաջարկվող նյութ չի տեղադրում։

FreshRSS-ի հնարավորությունները

ՀնարավորությունԻնչի համար է օգտագործվում
Կատեգորիաներ, կարգավիճակներ և ընտրյալներԱշխատանքային, տեխնիկական և անձնական աղբյուրների առանձնացում
Որոնում, զտիչներ և պահպանված հարցումներՄիայն ընտրված թեմայի հրապարակումների ցուցադրում
OPML-ի ներմուծում և արտահանումԲաժանորդագրությունների ցանկի արագ տեղափոխում
Google Reader API և Fever APIՀամատեղելի բջջային ու աշխատասեղանի հավելվածների միացում
WebSubԱջակցվող աղբյուրներից գրառումների ստացում հրապարակումից անմիջապես հետո
Բազմաթիվ օգտվողներԸնտանիքի կամ թիմի համար առանձին հաշիվների ստեղծում
Թեմաներ և ընդլայնումներՄիջերեսի փոփոխում և հնարավորությունների ավելացում
XPath և JSON FeedՈրոշ աղբյուրների բաժանորդագրում առանց ստանդարտ RSS կամ Atom հոսքի

Պահպանված հարցումը կարող է դառնալ թեմատիկ առանձին հոսք, օրինակ՝ միայն անվտանգության հրապարակումներով կամ որոշակի արտադրանքի թարմացումներով։ Արդյունքը կարելի է բացել FreshRSS-ի ներսում կամ հրապարակել որպես HTML կամ RSS. հոսքերի ցանկերի համար հասանելի է նաև OPML-ը։

WebSub-ը համատեղելի կայքին թույլ է տալիս FreshRSS-ին ծանուցել նոր գրառման մասին՝ առանց հաջորդ պլանավորված ստուգմանը սպասելու։ Դրա համար FreshRSS-ի օրինակը պետք է ինտերնետից հասանելի լինի վավեր հանրային հասցեով։

FreshRSS-ը հատկապես օգտակար է մշակողների և համակարգային ադմինիստրատորների համար. նախագծերի բլոգները, թողարկումները, միջադեպերի հաշվետվություններն ու անվտանգության հրապարակումները կարելի է հավաքել մեկ հոսքում։ Ամենօրյա ընթերցման համար այն փոխարինում է տասնյակ բաց ներդիրներին և բոլոր սարքերում պահպանում ընթերցման ճշգրիտ համաժամացված կարգավիճակը։

FreshRSS-ի համակարգային պահանջները

FreshRSS-ը քիչ ռեսուրսներ է պահանջում։ Այն աջակցում է SQLite, PostgreSQL, MariaDB և MySQL տվյալների բազաներին, իսկ ձեռքով տեղադրման համար անհրաժեշտ են վեբ սերվեր և PHP 8.1 կամ ավելի նոր տարբերակ։ Պաշտոնական նկարագրության մեջ նույնիսկ նշվում է Raspberry Pi 1-ի վրա 150 հոսքով և 22,000 հոդվածով կատարված փորձարկումը։

Գործնական մեկնարկային կոնֆիգուրացիաներ.

ՍցենարCPURAMՊահեստՏվյալների բազա
Անձնական հոսք1 vCPU1 GB10–20 GB SSDSQLite
Ընտանիք կամ փոքր թիմ1–2 vCPU2 GB20–40 GB SSDSQLite կամ արտաքին տվյալների բազա
Շատ օգտվողներ և մեծ արխիվ2 vCPU-ից4 GB-ից40 GB SSD-իցPostgreSQL կամ MariaDB

Սրանք ուղեցույցներ են, ոչ թե խիստ նվազագույններ։ Պահեստի օգտագործումը կախված է աղբյուրների քանակից, հրապարակումների հաճախականությունից և պատմության պահպանման տևողությունից։ VPS-ը տնային համակարգչից հարմար է, երբ անհրաժեշտ են շուրջօրյա թարմացումներ, արտաքին հասանելիություն, բջջային համաժամացում և WebSub։

Ինչպես տեղադրել FreshRSS-ը VPS-ում Docker-ով

Ստորև ներկայացված կոնֆիգուրացիայում FreshRSS-ը աշխատում է Caddy-ի հետևում։ Caddy-ն ընդունում է արտաքին հարցումները և ավտոմատ ստանում TLS վկայագիրը։

Ձեզ անհրաժեշտ է Linux VPS, Docker՝ տեղադրված docker compose հրամանով, ենթադոմեյն, որի A գրառումը մատնանշում է սերվերի IP հասցեն, և բաց 80 ու 443 պորտեր։

Քայլ 1. Ստեղծեք պանակ

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

Քայլ 2. Ստեղծեք 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'-ը հոսքերի ստուգումը սկսում է յուրաքանչյուր ժամի 3-րդ և 33-րդ րոպեներին։ FreshRSS-ը առանձին հոսքը մոտավորապես 20 րոպեն մեկից ավելի հաճախ չի թարմացնում, ուստի առաջադրանքի ավելի հաճախ գործարկումը սովորաբար անհրաժեշտ չէ։

Քայլ 3. Ստեղծեք Caddyfile

rss.example.com {
    reverse_proxy freshrss:80
}

Դոմեյնը փոխարինեք ձերով։ DNS գրառման տարածվելուց և պորտերի հասանելի դառնալուց հետո Caddy-ն ինքնաշխատ կստանա և կթարմացնի վկայագիրը։

Քայլ 4. Գործարկեք FreshRSS-ը

docker compose up -d
docker compose ps

Լոգերը կարող եք դիտել այս հրամանով.

docker compose logs -f --tail=100

Բացեք https://rss.example.com։ Տեղադրման մոգը կստուգի միջավայրը, կառաջարկի ընտրել տվյալների բազա և կստեղծի առաջին օգտվողին։ Անձնական սերվերի համար SQLite-ն ամենապարզ ընտրությունն է, քանի որ առանձին տվյալների բազայի կոնտեյներ չի պահանջում։

Սկզբնական կարգավորում

FreshRSS-ը հաճախ կարող է RSS կամ Atom հոսքը հայտնաբերել կայքի սովորական հասցեից։ Եթե ավտոմատ հայտնաբերումը չի աշխատում, մուտքագրեք հոսքի ուղղակի URL-ը։ Feedly-ից, Inoreader-ից և այլ ընթերցիչներից բաժանորդագրությունները հարմար է փոխանցել OPML-ի միջոցով։

Անմիջապես դասակարգեք աղբյուրները, օրինակ՝ «պարտադիր ընթերցել», «աշխատանք», «անվտանգություն», «ծավալուն նյութ» և «ֆոնային ընթերցում»։ Բարձր ակտիվությամբ լրատվական կայքերը չպետք է իսկապես կարևոր թարմացումները դուրս մղեն հիմնական հոսքից։

Հավելվածը միացնելու համար նույնականացման կարգավորումներում միացրեք API-ն և պրոֆիլում սահմանեք առանձին API գաղտնաբառ։ Google Reader API-ի հասցեն ունի հետևյալ տեսքը.

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

Ավելի լավ է հիմնական հաշվի և API-ի համար նույն գաղտնաբառը չօգտագործել։

Ինչպես չխեղդվել չընթերցված հոդվածներում

FreshRSS-ը մի փոքր կարգավորումից հետո դառնում է ավելի օգտակար.

  • հիմնական հոսքում թողեք միայն կարևոր աղբյուրները,
  • զտիչներով ավելորդ բաժինները ավտոմատ նշեք որպես ընթերցված,
  • պահպանեք որոնման հարցումներ ապրանքների, հեղինակների և թեմաների համար,
  • պարբերաբար դիտեք վիճակագրությունը և հեռացրեք միայն աղմուկ ստեղծող աղբյուրները։

Ընդլայնումները կարող են ավելացնել ընթերցման ժամանակի գնահատում, բառերի ընդգծում, պատկերների պրոքսի, YouTube-ի ներկառուցում, webhook ծանուցումներ և հոդվածների դասակարգում համատեղելի LLM API-ի միջոցով։ Երրորդ կողմի հավելումները տեղադրեք միայն վստահելի աղբյուրներից։

Թարմացումներ, անվտանգություն և պահուստային պատճեններ

Կոնտեյներները թարմացնելու համար գործարկեք.

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

Խոշոր թարմացումից առաջ ստեղծեք պահուստային պատճեն։ freshrss_data վոլյումը պարունակում է օգտվողի կարգավորումները և, SQLite-ի օգտագործման դեպքում, հոդվածների տվյալների բազան։ Եթե օգտագործում եք հավելումներ, պահպանեք նաև freshrss_extensions-ը։ PostgreSQL, MariaDB և MySQL տվյալների բազաների համար անհրաժեշտ է առանձին dump։

Անվտանգության նվազագույն միջոցներ.

  • օգտագործեք HTTPS,
  • անհրաժեշտ հաշիվները ստեղծելուց հետո անջատեք բաց գրանցումը,
  • անհրաժեշտության բացակայության դեպքում մի միացրեք անանուն հասանելիությունը,
  • օգտագործեք առանձին API գաղտնաբառ,
  • պարբերաբար թարմացրեք FreshRSS-ը և դրա ընդլայնումները,
  • պահուստային պատճենը պահեք VPS-ից դուրս։

OPML արտահանումը չի փոխարինում ամբողջական պահուստային պատճենին, սակայն թույլ է տալիս բաժանորդագրությունների ցանկը արագ վերականգնել ցանկացած համատեղելի RSS ընթերցիչում։

FreshRSS-ը tropic.host-ի VPS-ում

FreshRSS-ը լավ առաջին ինքնուրույն հոսթինգով ծառայություն է. այն քիչ ռեսուրսներ է պահանջում, աշխատում է Docker-ում և օգտակար է դառնում բաժանորդագրությունները ներմուծելուց անմիջապես հետո։ Հանրային VPS-ը ապահովում է հոսքերի թարմացումները 24/7 ռեժիմով, հեռախոսից հասանելիությունը և WebSub-ի ճիշտ աշխատանքը։

Անձնական տեղադրման համար փոքր Linux կոնֆիգուրացիան սովորաբար բավական է։ tropic.host-ում կարող եք FreshRSS-ին հատկացնել սեփական ենթադոմեյն, սկսել սկզբնական մակարդակի VPS-ով և ծառայությունը պահել տնային համակարգչից անկախ։ Փաթեթ ընտրելիս կայունությունը, արխիվի պահեստը և պահուստային պատճեններն ավելի կարևոր են, քան մշակման հզորության մեծ պաշարը։

Եզրակացություն

FreshRSS-ը տասնյակ կայքեր վերածում է կառավարելի անձնական հոսքի՝ առանց ալգորիթմական դասակարգման։ Այն աջակցում է բջջային հաճախորդների, զտիչների, պահպանված հարցումների, բազմաթիվ օգտվողների, WebSub-ի և ընդլայնումների, միաժամանակ բավականաչափ թեթև մնալով փոքր VPS-ի համար։

Սկսելու համար անհրաժեշտ են Docker, դոմեյն և SQLite։ Տեղադրումից հետո կարգավորեք կատեգորիաները, ավտոմատ թարմացումները, HTTPS-ը և պահուստային պատճենները։ Դրանից հետո FreshRSS-ը ցույց կտա միայն ձեր ընտրած աղբյուրները և ընթերցման վերահսկողությունը կթողնի օգտվողի ձեռքում։

Հաճախ տրվող հարցեր

FreshRSS-ը անվճա՞ր է

Այո։ FreshRSS-ը տարածվում է AGPL-3.0 լիցենզիայով։ Դուք վճարում եք միայն ենթակառուցվածքի համար, եթե հավելվածն աշխատում է վարձակալված VPS-ում։

Կարո՞ղ եմ FreshRSS-ն օգտագործել առանց դոմեյնի

Այո՝ կոնտեյների պորտը հրապարակելով։ Մշտական օգտագործման համար ավելի լավ է կարգավորել դոմեյն և HTTPS, քանի որ դա հեշտացնում է անվտանգ հասանելիությունը, բջջային համաժամացումը և WebSub-ը։

Որքա՞ն RAM է անհրաժեշտ FreshRSS-ին

Անձնական հոսքի համար ողջամիտ է սկսել 1 GB RAM-ով և SQLite-ով։ Մեծ արխիվը, բազմաթիվ օգտվողները կամ լրացուցիչ ծառայությունները ավելի շատ հիշողություն կպահանջեն։

Կարո՞ղ եմ ավելացնել կայք առանց RSS-ի

Երբեմն։ FreshRSS-ը XPath-ի միջոցով աջակցում է վեբ քերողությանը, սակայն կանոնները պետք է կարգավորել ձեռքով։ Եթե կայքի դասավորությունը փոխվի, աղբյուրը կարող է շտկման կարիք ունենալ։

Ի՞նչ պետք է պահուստավորել

Առաջին հերթին պահուստավորեք freshrss_data վոլյումը. SQLite-ի օգտագործման դեպքում այն պարունակում է հոդվածների տվյալների բազան։ Պահպանեք նաև freshrss_extensions-ը և արտաքին տվյալների բազայի dump-երը։