FreshRSS: यह क्या है और VPS पर इसे कैसे इंस्टॉल करें

1 मिनट पढ़ा
Tropic
FreshRSS: यह क्या है और VPS पर इसे कैसे इंस्टॉल करें

FreshRSS: एल्गोरिदम के बिना आपका अपना न्यूज़ फ़ीड

सोशल नेटवर्क तय करते हैं कि कौन-सी पोस्ट सबसे पहले दिखाई जाएंगी। इसलिए किसी प्रोजेक्ट का महत्वपूर्ण अपडेट दर्जनों सुझावों के बीच आसानी से छूट सकता है। FreshRSS अलग तरीके से काम करता है: आप स्रोत चुनते हैं और नई सामग्री एक ही कालानुक्रमिक फ़ीड में दिखाई देती है।

FreshRSS को अपने सर्वर पर इंस्टॉल करके ब्लॉग, न्यूज़ साइट, सॉफ़्टवेयर अपडेट, फ़ोरम, पॉडकास्ट और RSS या Atom फ़ीड देने वाले अन्य स्रोतों के लिए एकीकृत इनबॉक्स की तरह इस्तेमाल किया जा सकता है। इस गाइड में ऐप की सुविधाओं, सर्वर की आवश्यकताओं और Docker तथा HTTPS के साथ VPS पर इंस्टॉलेशन को समझाया गया है।

FreshRSS पाँच चरणों में

  1. Linux VPS बनाएं और एक सबडोमेन को उसकी ओर पॉइंट करें, जैसे rss.example.com
  2. Docker और Docker Compose इंस्टॉल करें।
  3. स्वचालित HTTPS के लिए FreshRSS को Caddy के साथ चलाएं।
  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

ये दिशानिर्देश हैं, कठोर न्यूनतम आवश्यकताएं नहीं। स्टोरेज की खपत स्रोतों की संख्या, प्रकाशन की आवृत्ति और इतिहास कितने समय तक रखा जाता है, इन बातों पर निर्भर करती है। जब चौबीसों घंटे अपडेट, बाहरी पहुंच, मोबाइल सिंक्रोनाइज़ेशन और WebSub चाहिए, तो VPS घरेलू कंप्यूटर से अधिक सुविधाजनक होता है।

Docker के साथ VPS पर FreshRSS कैसे इंस्टॉल करें

नीचे दिए गए कॉन्फ़िगरेशन में FreshRSS, Caddy के पीछे चलता है। Caddy बाहरी अनुरोध स्वीकार करता है और अपने-आप TLS प्रमाणपत्र प्राप्त करता है।

आपको Linux VPS, docker compose कमांड के साथ इंस्टॉल किया गया Docker, सर्वर के IP पते की ओर इशारा करने वाले A रिकॉर्ड वाला सबडोमेन और खुले हुए 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' हर घंटे के तीसरे और 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 के लिए अलग डेटाबेस डंप जरूरी है।

न्यूनतम सुरक्षा उपाय:

  • HTTPS का इस्तेमाल करें;
  • जरूरी अकाउंट बनाने के बाद ओपन रजिस्ट्रेशन बंद करें;
  • जब तक आवश्यक न हो, अनाम एक्सेस सक्षम न करें;
  • अलग API पासवर्ड इस्तेमाल करें;
  • FreshRSS और उसके एक्सटेंशन नियमित रूप से अपडेट करें;
  • VPS के बाहर बैकअप रखें।

OPML एक्सपोर्ट पूरे बैकअप का विकल्प नहीं है, लेकिन इससे किसी भी संगत RSS रीडर में सब्सक्रिप्शन सूची जल्दी बहाल की जा सकती है।

tropic.host के VPS पर FreshRSS

FreshRSS पहली सेल्फ-होस्टेड सेवा के लिए अच्छा विकल्प है: इसे कम संसाधनों की जरूरत होती है, यह Docker में चलता है और सब्सक्रिप्शन इम्पोर्ट करते ही उपयोगी हो जाता है। सार्वजनिक VPS चौबीसों घंटे फ़ीड अपडेट, फ़ोन से पहुंच और WebSub का सही संचालन देता है।

व्यक्तिगत इंस्टॉलेशन के लिए आम तौर पर छोटा Linux कॉन्फ़िगरेशन पर्याप्त होता है। tropic.host पर आप FreshRSS के लिए अलग सबडोमेन असाइन कर सकते हैं, एंट्री-लेवल VPS से शुरुआत कर सकते हैं और सेवा को अपने घरेलू कंप्यूटर से स्वतंत्र रख सकते हैं। प्लान चुनते समय बड़ी प्रोसेसिंग क्षमता से अधिक महत्वपूर्ण स्थिरता, आर्काइव के लिए स्टोरेज और बैकअप हैं।

निष्कर्ष

FreshRSS दर्जनों वेबसाइटों को बिना एल्गोरिदमिक रैंकिंग वाली व्यवस्थित निजी फ़ीड में बदल देता है। यह मोबाइल क्लाइंट, फ़िल्टर, सेव की गई क्वेरी, कई उपयोगकर्ता, WebSub और एक्सटेंशन सपोर्ट करता है, फिर भी इतना हल्का है कि छोटे VPS पर चल सके।

शुरुआत के लिए आपको Docker, डोमेन और SQLite चाहिए। इंस्टॉलेशन के बाद कैटेगरी, ऑटोमैटिक अपडेट, HTTPS और बैकअप कॉन्फ़िगर करें। तब FreshRSS केवल आपके चुने हुए स्रोत दिखाएगा और पढ़ने का नियंत्रण आपके हाथ में रहेगा।

FAQ

क्या FreshRSS मुफ़्त है?

हां। FreshRSS AGPL-3.0 लाइसेंस के तहत वितरित किया जाता है। यदि ऐप किराए के VPS पर चलता है, तो आपको केवल इन्फ्रास्ट्रक्चर के लिए भुगतान करना होगा।

क्या FreshRSS को डोमेन के बिना इस्तेमाल किया जा सकता है?

हां, कंटेनर पोर्ट को एक्सपोज़ करके। स्थायी उपयोग के लिए डोमेन और HTTPS कॉन्फ़िगर करना बेहतर है, क्योंकि इससे सुरक्षित पहुंच, मोबाइल सिंक्रोनाइज़ेशन और WebSub आसान होते हैं।

FreshRSS को कितनी RAM चाहिए?

व्यक्तिगत फ़ीड के लिए 1 GB RAM और SQLite से शुरुआत करना उचित है। बड़े आर्काइव, कई उपयोगकर्ताओं या अतिरिक्त सेवाओं के लिए अधिक मेमोरी चाहिए होगी।

क्या RSS के बिना वेबसाइट जोड़ी जा सकती है?

कभी-कभी। FreshRSS XPath के जरिए वेब स्क्रैपिंग सपोर्ट करता है, लेकिन नियमों को मैन्युअली कॉन्फ़िगर करना पड़ता है। वेबसाइट का लेआउट बदलने पर उस स्रोत को ठीक करना पड़ सकता है।

किस चीज़ का बैकअप लेना चाहिए?

सबसे पहले freshrss_data वॉल्यूम का बैकअप लें: SQLite इस्तेमाल होने पर इसमें लेखों का डेटाबेस रहता है। freshrss_extensions को भी सुरक्षित रखें और किसी भी बाहरी डेटाबेस के डंप बनाएं।