Tropic Host

FreshRSS: бұл не және оны VPS-ке қалай орнатуға болады

5 мин оқу
Tropic
FreshRSS: бұл не және оны VPS-ке қалай орнатуға болады

Language: kk

FreshRSS: алгоритмдерсіз жеке жаңалықтар легі

Әлеуметтік желілер қай жазбаларды алдымен көрсететінін өздері шешеді. Сондықтан ондаған ұсыныс маңызды жобаның жаңартуын оңай көлеңкеде қалдыруы мүмкін. FreshRSS басқаша жұмыс істейді: дереккөздерді өзіңіз таңдайсыз, ал жаңа материал бір хронологиялық легте көрінеді.

FreshRSS-ті өз серверіңізге орнатып, оны блогтар, жаңалық сайттары, бағдарламалық жаңартулар, форумдар, подкасттар және RSS немесе Atom легін беретін басқа дереккөздер үшін бірыңғай кіріс жәшігі ретінде пайдалануға болады. Бұл нұсқаулықта қолданбаның мүмкіндіктері, сервер талаптары және VPS-ке Docker мен HTTPS арқылы орнату қарастырылады.

FreshRSS бес қадамда

  1. Linux VPS жасап, оған ішкі доменді бағыттаңыз, мысалы rss.example.com.
  2. Docker және Docker Compose орнатыңыз.
  3. Автоматты HTTPS үшін FreshRSS-ті Caddy-мен бірге іске қосыңыз.
  4. Ішкі доменді ашып, SQLite таңдаңыз және есептік жазба жасаңыз.
  5. OPML арқылы жазылымдарды импорттаңыз немесе сайттарды қолмен қосыңыз.

Осыдан кейін VPS пайдаланушының компьютері өшірулі тұрса да, дереккөздерді кесте бойынша тексере береді.

FreshRSS деген не?

FreshRSS — тегін, өз серверіңізде орналастырылатын RSS және Atom агрегаторы. Self-hosted дегеніміз — қолданба мен дерекқор бұлттық қызмет инфрақұрылымында емес, сіз басқаратын серверде жұмыс істейді деген сөз.

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 үй компьютерінен ыңғайлырақ.

FreshRSS-ті VPS-ке Docker арқылы қалай орнатуға болады

Төмендегі конфигурацияда FreshRSS Caddy артында жұмыс істейді. Caddy сыртқы сұрауларды қабылдап, TLS сертификатын автоматты түрде алады.

Сізге Linux VPS, docker compose пәрмені орнатылған Docker, 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 оқырманында тез қалпына келтіруге мүмкіндік береді.

tropic.host VPS-тегі FreshRSS

FreshRSS — өз серверінде орналастыруды бастағандарға қолайлы қызмет: аз ресурс қажет етеді, Docker ішінде жұмыс істейді және жазылымдарды импорттағаннан кейін бірден пайдалы болады. Жалпыға ашық VPS арналарды тәулік бойы жаңартуды, телефоннан қолжетімділікті және WebSub-тың дұрыс жұмысын қамтамасыз етеді.

Жеке орнату үшін шағын Linux конфигурациясы әдетте жеткілікті. tropic.host қызметінде FreshRSS-ке жеке ішкі домен беріп, бастапқы деңгейдегі VPS-тен бастауға және қызметті үй компьютеріне тәуелсіз ұстауға болады. Тариф таңдағанда өңдеу қуатының үлкен қоры болғанынан гөрі тұрақтылық, архив жады және сақтық көшірмелер маңыздырақ.

Қорытынды

FreshRSS ондаған сайтты алгоритмдік сұрыптаусыз басқарылатын жеке легке айналдырады. Ол мобильді клиенттерді, сүзгілерді, сақталған сұрауларды, бірнеше пайдаланушыны, WebSub пен кеңейтімдерді қолдайды және шағын VPS үшін жеткілікті жеңіл болып қалады.

Бастау үшін Docker, домен және SQLite қажет. Орнатқаннан кейін санаттарды, автоматты жаңартуларды, HTTPS пен сақтық көшірмелерді баптаңыз. Содан соң FreshRSS тек өзіңіз таңдаған дереккөздерді көрсетіп, оқу бақылауын пайдаланушының қолында қалдырады.

Жиі қойылатын сұрақтар

FreshRSS тегін бе?

Иә. FreshRSS AGPL-3.0 лицензиясымен таратылады. Қолданба жалға алынған VPS-те жұмыс істесе, тек инфрақұрылым үшін төлейсіз.

FreshRSS-ті доменсіз пайдалануға бола ма?

Иә, контейнер портын сыртқа шығару арқылы. Тұрақты пайдалану үшін домен мен HTTPS баптаған дұрыс, өйткені бұл қауіпсіз қолжетімділікті, мобильді синхрондауды және WebSub-ты жеңілдетеді.

FreshRSS-ке қанша RAM керек?

Жеке лег үшін 1 GB RAM және SQLite-тан бастау орынды. Үлкен архивке, бірнеше пайдаланушыға немесе қосымша қызметтерге көбірек жад қажет болады.

RSS-і жоқ сайтты қоса аламын ба?

Кейде болады. FreshRSS XPath арқылы веб-скрейпингті қолдайды, бірақ ережелерді қолмен баптау керек. Сайттың орналасуы өзгерсе, дереккөзді түзету қажет болуы мүмкін.

Ненің сақтық көшірмесін жасау керек?

Ең алдымен freshrss_data томының көшірмесін жасаңыз: SQLite қолданылса, онда мақалалар дерекқоры бар. Сонымен бірге freshrss_extensions томын сақтап, сыртқы дерекқордың dump-тарын жасаңыз.