Language: uz
FreshRSS: algoritmlarsiz shaxsiy yangiliklar lentasi
Ijtimoiy tarmoqlar qaysi postlarni avval ko‘rsatishni o‘zlari hal qiladi. Natijada muhim loyiha yangilanishi o‘nlab tavsiyalar orasida osongina ko‘zdan qochishi mumkin. FreshRSS boshqacha ishlaydi: manbalarni siz tanlaysiz, yangi kontent esa yagona xronologik lentada paydo bo‘ladi.
FreshRSSʼni o‘z serveringizga o‘rnatib, bloglar, yangiliklar saytlari, dasturiy ta’minot yangilanishlari, forumlar, podkastlar va RSS yoki Atom lentasini taqdim etadigan boshqa manbalar uchun yagona kiruvchi quti sifatida ishlatishingiz mumkin. Ushbu qo‘llanmada ilovaning imkoniyatlari, server talablari va VPSʼga Docker hamda HTTPS orqali o‘rnatish ko‘rib chiqiladi.
FreshRSS besh qadamda
- Linux VPS yarating va unga subdomenni yo‘naltiring, masalan
rss.example.com. - Docker va Docker Composeʼni o‘rnating.
- Avtomatik HTTPS uchun FreshRSSʼni Caddy bilan birga ishga tushiring.
- Subdomenni oching, SQLiteʼni tanlang va hisob yarating.
- Obunalarni OPMLʼdan import qiling yoki saytlarni qo‘lda qo‘shing.
Shundan so‘ng VPS foydalanuvchining kompyuteri o‘chiq bo‘lsa ham, manbalarni jadval bo‘yicha tekshiradi.
FreshRSS nima?
FreshRSS — bepul, o‘z serveringizda joylashtiriladigan RSS va Atom agregatori. Self-hosted atamasi ilova va ma’lumotlar bazasi bulutli xizmat infratuzilmasida emas, siz nazorat qiladigan serverda ishlashini anglatadi.
RSS lentasi — sayt yangi kontent e’lon qilganda yangilaydigan maxsus fayl. FreshRSS tanlangan manbalardan ushbu fayllarni muntazam olib, ularning yozuvlarini bitta interfeysga birlashtiradi. O‘qilmagan maqolalar, sevimlilar va o‘qish tarixi qurilmalar o‘rtasida sinxronlanadi.
Asosiy g‘oya oddiy: foydalanuvchilar kimni kuzatish va nashrlarni qaysi tartibda ko‘rishni o‘zlari hal qiladi. FreshRSS yozuvlarni jalb etilish darajasiga qarab saralamaydi va obunalar orasiga tavsiya qilingan kontentni qo‘shmaydi.
FreshRSS imkoniyatlari
| Imkoniyat | Nima uchun ishlatiladi |
|---|---|
| Kategoriyalar, holatlar va sevimlilar | Ish, texnik va shaxsiy manbalarni ajratish |
| Qidiruv, filtrlar va saqlangan so‘rovlar | Tanlangan mavzudagi nashrlarni ko‘rsatish |
| OPML importi va eksporti | Obunalar ro‘yxatini tez ko‘chirish |
| Google Reader API va Fever API | Mos mobil va kompyuter ilovalarini ulash |
| WebSub | Qo‘llab-quvvatlanadigan manbalardan nashr etilishi bilan yozuv olish |
| Bir nechta foydalanuvchi | Oila yoki jamoa uchun alohida hisoblar yaratish |
| Mavzular va kengaytmalar | Interfeysni o‘zgartirish va imkoniyat qo‘shish |
| XPath va JSON Feed | Standart RSS yoki Atom lentasi bo‘lmagan ayrim manbalarga obuna bo‘lish |
Saqlangan so‘rov alohida mavzuli lentaga aylanishi mumkin, masalan faqat xavfsizlik nashrlari yoki muayyan mahsulot yangilanishlaridan iborat lentaga. Natijani FreshRSS ichida ochish yoki HTML yoxud RSS sifatida e’lon qilish mumkin; lentalar ro‘yxati uchun OPML ham mavjud.
WebSub mos keladigan saytga keyingi rejalashtirilgan tekshiruvni kutmasdan yangi yozuv haqida FreshRSSʼga xabar berish imkonini beradi. Buning uchun FreshRSS nusxasi internetdan haqiqiy ommaviy manzil orqali foydalanish mumkin bo‘lishi kerak.
FreshRSS dasturchilar va tizim ma’murlari uchun ayniqsa foydali: loyiha bloglari, relizlar, hodisa hisobotlari va xavfsizlik nashrlarini bitta lentada to‘plash mumkin. Kundalik o‘qishda u o‘nlab ochiq tablarning o‘rnini bosadi va barcha qurilmalarda o‘qish holatini aniq sinxronlaydi.
FreshRSS tizim talablari
FreshRSS kam resurs talab qiladi. U SQLite, PostgreSQL, MariaDB va MySQLʼni qo‘llab-quvvatlaydi, qo‘lda o‘rnatish uchun esa veb-server va PHP 8.1 yoki undan yangiroq versiya kerak. Rasmiy tavsifda hatto 150 ta lenta va 22,000 ta maqola bilan Raspberry Pi 1ʼda o‘tkazilgan sinov ham keltiriladi.
Amaliy boshlang‘ich konfiguratsiyalar:
| Ssenariy | CPU | RAM | Xotira | Ma’lumotlar bazasi |
|---|---|---|---|---|
| Shaxsiy lenta | 1 vCPU | 1 GB | 10–20 GB SSD | SQLite |
| Oila yoki kichik jamoa | 1–2 vCPU | 2 GB | 20–40 GB SSD | SQLite yoki tashqi ma’lumotlar bazasi |
| Ko‘p foydalanuvchi va katta arxiv | 2 vCPU dan | 4 GB dan | 40 GB SSD dan | PostgreSQL yoki MariaDB |
Bular qat’iy minimumlar emas, balki yo‘riqnomalardir. Xotira sarfi manbalar soni, nashr chastotasi va tarix qancha vaqt saqlanishiga bog‘liq. Sutka davomida yangilanish, tashqi kirish, mobil sinxronlash va WebSub kerak bo‘lsa, VPS uy kompyuteriga qaraganda qulayroq.
FreshRSSʼni VPSʼga Docker bilan qanday o‘rnatish mumkin
Quyidagi konfiguratsiyada FreshRSS Caddy ortida ishlaydi. Caddy tashqi so‘rovlarni qabul qiladi va TLS sertifikatini avtomatik oladi.
Sizga Linux VPS, docker compose buyrug‘i o‘rnatilgan Docker, A yozuvi server IP manziliga yo‘naltirilgan subdomen hamda ochiq 80 va 443 portlari kerak bo‘ladi.
1-qadam. Katalog yarating
sudo mkdir -p /opt/freshrss
sudo chown "$USER":"$USER" /opt/freshrss
cd /opt/freshrss2-qadam. compose.yaml yarating
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' har soatning 3- va 33-daqiqalarida lentani tekshirishni boshlaydi. FreshRSS alohida lentani taxminan 20 daqiqada bir martadan ko‘p yangilamaydi, shuning uchun vazifani tez-tez ishga tushirish odatda kerak emas.
3-qadam. Caddyfile yarating
rss.example.com {
reverse_proxy freshrss:80
}Domenni o‘zingiznikiga almashtiring. DNS yozuvi tarqalib, portlar ochiq bo‘lgach, Caddy sertifikatni avtomatik oladi va yangilaydi.
4-qadam. FreshRSSʼni ishga tushiring
docker compose up -d
docker compose psLoglarni quyidagi buyruq bilan ko‘rishingiz mumkin:
docker compose logs -f --tail=100https://rss.example.com manzilini oching. O‘rnatish ustasi muhitni tekshiradi, ma’lumotlar bazasini tanlashni so‘raydi va birinchi foydalanuvchini yaratadi. SQLite shaxsiy server uchun eng sodda tanlovdir, chunki alohida ma’lumotlar bazasi konteyneri talab qilinmaydi.
Dastlabki sozlash
FreshRSS ko‘pincha RSS yoki Atom lentasini saytning oddiy manzilidan topa oladi. Avtomatik aniqlash ishlamasa, lentaning to‘g‘ridan-to‘g‘ri URL manzilini kiriting. Feedly, Inoreader va boshqa o‘quvchilardagi obunalarni OPML orqali qulay ko‘chirish mumkin.
Manbalarni darhol «albatta o‘qish», «ish», «xavfsizlik», «uzun maqolalar» va «fon o‘qishi» kabi kategoriyalarga ajrating. Ko‘p yangilanadigan yangilik saytlari haqiqatan muhim yangiliklarni asosiy lentadan siqib chiqarmasligi kerak.
Ilovani ulash uchun autentifikatsiya sozlamalarida APIʼni yoqing va profilda alohida API parolini belgilang. Google Reader API manzili quyidagicha ko‘rinadi:
https://rss.example.com/api/greader.phpAsosiy hisob va API uchun bir xil paroldan foydalanmaganingiz ma’qul.
O‘qilmagan maqolalarga ko‘milib qolmaslik
FreshRSS biroz sozlangandan keyin yanada foydali bo‘ladi:
- asosiy lentada faqat muhim manbalarni qoldiring;
- filtrlar yordamida keraksiz bo‘limlarni avtomatik o‘qilgan deb belgilang;
- mahsulotlar, mualliflar va mavzular uchun qidiruv so‘rovlarini saqlang;
- statistikani vaqti-vaqti bilan ko‘rib, faqat shovqin yaratadigan manbalarni o‘chiring.
Kengaytmalar o‘qish vaqtini baholash, so‘zlarni ajratib ko‘rsatish, rasmlar proksisi, YouTubeʼni joylashtirish, webhook bildirishnomalari va mos LLM API orqali maqolalarni tasniflashni qo‘shishi mumkin. Uchinchi tomon qo‘shimchalarini faqat ishonchli manbalardan o‘rnating.
Yangilanishlar, xavfsizlik va zaxira nusxalari
Konteynerlarni yangilash uchun quyidagilarni bajaring:
cd /opt/freshrss
docker compose pull
docker compose up -dKatta yangilanishdan oldin zaxira nusxasini yarating. freshrss_data volume foydalanuvchi sozlamalari va SQLite ishlatilganda maqolalar ma’lumotlar bazasini o‘z ichiga oladi. Qo‘shimchalardan foydalansangiz, freshrss_extensions ni ham saqlang. PostgreSQL, MariaDB va MySQL alohida ma’lumotlar bazasi dumpʼini talab qiladi.
Minimal xavfsizlik choralari:
- HTTPSʼdan foydalaning;
- kerakli hisoblarni yaratgach, ochiq ro‘yxatdan o‘tishni o‘chiring;
- zarur bo‘lmasa anonim kirishni yoqmang;
- alohida API parolidan foydalaning;
- FreshRSS va uning kengaytmalarini muntazam yangilang;
- zaxira nusxasini VPSʼdan tashqarida saqlang.
OPML eksporti to‘liq zaxira nusxasining o‘rnini bosa olmaydi, biroq obunalar ro‘yxatini istalgan mos RSS o‘quvchida tez tiklashga imkon beradi.
tropic.host VPSʼida FreshRSS
FreshRSS — o‘z serverida joylashtirishni boshlash uchun yaxshi xizmat: kam resurs talab qiladi, Dockerʼda ishlaydi va obunalar import qilingach darhol foydali bo‘ladi. Ommaviy VPS 24/7 lentalar yangilanishini, telefondan kirishni va WebSubʼning to‘g‘ri ishlashini ta’minlaydi.
Shaxsiy o‘rnatish uchun kichik Linux konfiguratsiyasi odatda yetarli. tropic.hostda FreshRSSʼga o‘z subdomeningizni ajratib, boshlang‘ich VPSʼdan foydalanishingiz va xizmatni uy kompyuteridan mustaqil saqlashingiz mumkin. Tarif tanlashda katta hisoblash zaxirasidan ko‘ra barqarorlik, arxiv xotirasi va zaxira nusxalari muhimroq.
Xulosa
FreshRSS o‘nlab saytlarni algoritmik saralashsiz boshqariladigan shaxsiy lentaga aylantiradi. U mobil mijozlar, filtrlar, saqlangan so‘rovlar, bir nechta foydalanuvchi, WebSub va kengaytmalarni qo‘llab-quvvatlaydi hamda kichik VPS uchun yetarlicha yengil qoladi.
Boshlash uchun Docker, domen va SQLite kerak. O‘rnatgandan keyin kategoriyalar, avtomatik yangilanishlar, HTTPS va zaxira nusxalarini sozlang. Shundan so‘ng FreshRSS faqat siz tanlagan manbalarni ko‘rsatadi va o‘qish nazoratini foydalanuvchi qo‘lida qoldiradi.
Ko‘p so‘raladigan savollar
FreshRSS bepulmi?
Ha. FreshRSS AGPL-3.0 litsenziyasi ostida tarqatiladi. Ilova ijaraga olingan VPSʼda ishlasa, faqat infratuzilma uchun to‘laysiz.
FreshRSSʼdan domainsiz foydalanish mumkinmi?
Ha, konteyner portini tashqariga chiqarish orqali. Doimiy foydalanish uchun domen va HTTPSʼni sozlagan ma’qul, chunki bu xavfsiz kirish, mobil sinxronlash va WebSubʼni soddalashtiradi.
FreshRSSʼga qancha RAM kerak?
Shaxsiy lenta uchun 1 GB RAM va SQLiteʼdan boshlash ma’qul. Katta arxiv, bir nechta foydalanuvchi yoki qo‘shimcha xizmatlar ko‘proq xotira talab qiladi.
RSSʼi bo‘lmagan saytni qo‘sha olamanmi?
Ba’zan. FreshRSS XPath orqali veb-skreypingni qo‘llab-quvvatlaydi, ammo qoidalarni qo‘lda sozlash kerak. Sayt maketi o‘zgarsa, manbani tuzatish talab qilinishi mumkin.
Nimani zaxiralash kerak?
Avvalo freshrss_data volumeʼini zaxiralang: SQLite ishlatilganda u maqolalar ma’lumotlar bazasini o‘z ichiga oladi. freshrss_extensions ni ham saqlang va tashqi ma’lumotlar bazasi dumpʼlarini yarating.
