Language: hy
FreshRSS. Ձեր սեփական նորությունների հոսքը՝ առանց ալգորիթմների
Սոցիալական ցանցերն իրենք են որոշում, թե որ գրառումներն առաջինը ցույց տան։ Դրա հետևանքով կարևոր նախագծի թարմացումը հեշտությամբ կարող է աննկատ մնալ, երբ դրա տեղը զբաղեցնում են տասնյակ առաջարկություններ։ FreshRSS-ն այլ կերպ է աշխատում. դուք եք ընտրում աղբյուրները, իսկ նոր նյութը հայտնվում է մեկ ժամանակագրական հոսքում։
FreshRSS-ը կարելի է տեղադրել ձեր սեփական սերվերում և օգտագործել որպես բլոգների, լրատվական կայքերի, ծրագրային թարմացումների, ֆորումների, փոդքասթների և RSS կամ Atom հոսքեր տրամադրող այլ աղբյուրների միասնական մուտքային արկղ։ Այս ուղեցույցում կքննարկենք հավելվածի հնարավորությունները, սերվերի պահանջները և VPS-ում Docker-ով ու HTTPS-ով տեղադրումը։
FreshRSS-ը հինգ քայլով
- Ստեղծեք Linux VPS և դրա վրա ուղղեք ենթադոմեյն, օրինակ՝
rss.example.com։ - Տեղադրեք Docker և Docker Compose։
- Գործարկեք FreshRSS-ը Caddy-ի հետ՝ ավտոմատ HTTPS-ի համար։
- Բացեք ենթադոմեյնը, ընտրեք SQLite և ստեղծեք հաշիվ։
- Ներմուծեք բաժանորդագրությունները 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 հոդվածով կատարված փորձարկումը։
Գործնական մեկնարկային կոնֆիգուրացիաներ.
| Սցենար | CPU | RAM | Պահեստ | Տվյալների բազա |
|---|---|---|---|---|
| Անձնական հոսք | 1 vCPU | 1 GB | 10–20 GB SSD | SQLite |
| Ընտանիք կամ փոքր թիմ | 1–2 vCPU | 2 GB | 20–40 GB SSD | SQLite կամ արտաքին տվյալների բազա |
| Շատ օգտվողներ և մեծ արխիվ | 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-երը։
