Tropic Host

FreshRSS: Τι είναι και πώς να το εγκαταστήσετε σε VPS

7 ελάχιστη ανάγνωση
Tropic
FreshRSS: Τι είναι και πώς να το εγκαταστήσετε σε VPS

Language: el

FreshRSS: Η δική σας ροή ειδήσεων χωρίς αλγορίθμους

Τα κοινωνικά δίκτυα αποφασίζουν ποια δημοσιεύματα θα σας δείξουν πρώτα. Έτσι, μια σημαντική ενημέρωση ενός έργου μπορεί εύκολα να χαθεί, ενώ τη θέση της καταλαμβάνουν δεκάδες προτάσεις. Το FreshRSS λειτουργεί διαφορετικά: εσείς επιλέγετε τις πηγές και το νέο περιεχόμενο εμφανίζεται σε μία χρονολογική ροή.

Μπορείτε να εγκαταστήσετε το FreshRSS στον δικό σας διακομιστή και να το χρησιμοποιήσετε ως ενιαίο εισερχόμενο για ιστολόγια, ειδησεογραφικούς ιστότοπους, ενημερώσεις λογισμικού, φόρουμ, podcast και άλλες πηγές που παρέχουν ροές RSS ή Atom. Αυτός ο οδηγός καλύπτει τις δυνατότητες της εφαρμογής, τις απαιτήσεις του διακομιστή και την εγκατάσταση σε VPS με Docker και HTTPS.

Το FreshRSS σε πέντε βήματα

  1. Δημιουργήστε ένα Linux VPS και δείξτε σε αυτό ένα subdomain, για παράδειγμα rss.example.com.
  2. Εγκαταστήστε Docker και Docker Compose.
  3. Εκτελέστε το FreshRSS μαζί με το Caddy για αυτόματο HTTPS.
  4. Ανοίξτε το subdomain, επιλέξτε SQLite και δημιουργήστε λογαριασμό.
  5. Εισαγάγετε τις συνδρομές από OPML ή προσθέστε ιστοτόπους χειροκίνητα.

Μετά από αυτά, το VPS θα ελέγχει τις πηγές σύμφωνα με το πρόγραμμα, ακόμη και όταν ο υπολογιστής του χρήστη είναι απενεργοποιημένος.

Τι είναι το FreshRSS;

Το FreshRSS είναι ένας δωρεάν, αυτοφιλοξενούμενος aggregator RSS και Atom. Αυτοφιλοξενούμενο σημαίνει ότι η εφαρμογή και η βάση δεδομένων εκτελούνται σε διακομιστή που ελέγχετε εσείς, και όχι στην υποδομή μιας υπηρεσίας cloud.

Μια ροή 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, ενώ μια χειροκίνητη εγκατάσταση απαιτεί web server και 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 SSDPostgreSQL ή MariaDB

Αυτές είναι κατευθυντήριες τιμές και όχι αυστηρά ελάχιστα. Η κατανάλωση αποθηκευτικού χώρου εξαρτάται από τον αριθμό των πηγών, τη συχνότητα δημοσίευσης και το πόσο καιρό διατηρείται το ιστορικό. Ένα VPS είναι πιο πρακτικό από έναν οικιακό υπολογιστή όταν χρειάζεστε ενημερώσεις όλο το εικοσιτετράωρο, εξωτερική πρόσβαση, συγχρονισμό κινητού και WebSub.

Πώς να εγκαταστήσετε το FreshRSS σε VPS με Docker

Στην παρακάτω διαμόρφωση, το FreshRSS εκτελείται πίσω από το Caddy. Το Caddy δέχεται εξωτερικά αιτήματα και λαμβάνει αυτόματα πιστοποιητικό TLS.

Θα χρειαστείτε ένα Linux VPS, Docker εγκατεστημένο μαζί με την εντολή docker compose, ένα subdomain με εγγραφή 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
}

Αντικαταστήστε το domain με το δικό σας. Αφού διαδοθεί η εγγραφή DNS και είναι προσβάσιμες οι θύρες, το Caddy θα λάβει και θα ανανεώνει αυτόματα το πιστοποιητικό.

Βήμα 4. Εκκινήστε το FreshRSS

docker compose up -d
docker compose ps

Μπορείτε να δείτε τα αρχεία καταγραφής με την εντολή:

docker compose logs -f --tail=100

Ανοίξτε το https://rss.example.com. Ο οδηγός εγκατάστασης θα ελέγξει το περιβάλλον, θα σας ζητήσει να επιλέξετε βάση δεδομένων και θα δημιουργήσει τον πρώτο χρήστη. Το SQLite είναι η απλούστερη επιλογή για έναν προσωπικό διακομιστή, επειδή δεν χρειάζεται ξεχωριστό container βάσης δεδομένων.

Αρχική διαμόρφωση

Το FreshRSS μπορεί συχνά να εντοπίσει μια ροή RSS ή Atom από την κανονική διεύθυνση ενός ιστότοπου. Αν η αυτόματη ανακάλυψη δεν λειτουργεί, εισαγάγετε την άμεση URL της ροής. Οι συνδρομές από Feedly, Inoreader και άλλους αναγνώστες μεταφέρονται εύκολα μέσω OPML.

Οργανώστε αμέσως τις πηγές σε κατηγορίες όπως «πρέπει να διαβαστούν», «εργασία», «ασφάλεια», «εκτενή άρθρα» και «δευτερεύουσα ανάγνωση». Οι ειδησεογραφικοί ιστότοποι με πολλές ενημερώσεις δεν πρέπει να εκτοπίζουν τις πραγματικά σημαντικές ειδήσεις από την κύρια ροή.

Για να συνδέσετε μια εφαρμογή, ενεργοποιήστε το API στις ρυθμίσεις ελέγχου ταυτότητας και ορίστε ξεχωριστό κωδικό API στο προφίλ. Η διεύθυνση του Google Reader API μοιάζει με αυτή:

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

Καλύτερα να μην χρησιμοποιείτε τον ίδιο κωδικό για τον κύριο λογαριασμό και το API.

Πώς να μην πνιγείτε στα μη αναγνωσμένα άρθρα

Το FreshRSS γίνεται πιο χρήσιμο μετά από λίγη διαμόρφωση:

  • κρατήστε μόνο τις σημαντικές πηγές στην κύρια ροή,
  • χρησιμοποιήστε φίλτρα για να σημειώνονται αυτόματα ως αναγνωσμένες οι περιττές ενότητες,
  • αποθηκεύστε ερωτήματα αναζήτησης για προϊόντα, συγγραφείς και θέματα,
  • ελέγχετε περιοδικά τα στατιστικά και αφαιρείτε πηγές που δημιουργούν μόνο θόρυβο.

Οι επεκτάσεις μπορούν να προσθέσουν εκτιμήσεις χρόνου ανάγνωσης, επισήμανση λέξεων, proxy εικόνων, ενσωμάτωση YouTube, ειδοποιήσεις webhook και ταξινόμηση άρθρων μέσω συμβατού LLM API. Εγκαθιστάτε πρόσθετα τρίτων μόνο από αξιόπιστες πηγές.

Ενημερώσεις, ασφάλεια και αντίγραφα ασφαλείας

Για να ενημερώσετε τα containers, εκτελέστε:

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

Δημιουργήστε αντίγραφο ασφαλείας πριν από μια σημαντική ενημέρωση. Το volume freshrss_data περιέχει τις ρυθμίσεις των χρηστών και, όταν χρησιμοποιείται SQLite, τη βάση δεδομένων των άρθρων. Αν χρησιμοποιείτε πρόσθετα, διατηρήστε και το freshrss_extensions. Τα PostgreSQL, MariaDB και MySQL απαιτούν ξεχωριστό dump της βάσης δεδομένων.

Ελάχιστα μέτρα ασφάλειας:

  • χρησιμοποιήστε HTTPS,
  • απενεργοποιήστε την ανοικτή εγγραφή αφού δημιουργήσετε τους απαραίτητους λογαριασμούς,
  • μην ενεργοποιείτε ανώνυμη πρόσβαση χωρίς λόγο,
  • χρησιμοποιήστε ξεχωριστό κωδικό API,
  • ενημερώνετε τακτικά το FreshRSS και τις επεκτάσεις του,
  • κρατήστε ένα αντίγραφο ασφαλείας εκτός VPS.

Η εξαγωγή OPML δεν αντικαθιστά ένα πλήρες αντίγραφο ασφαλείας, αλλά σας επιτρέπει να επαναφέρετε γρήγορα τη λίστα συνδρομών σε οποιονδήποτε συμβατό RSS reader.

FreshRSS σε VPS από την tropic.host

Το FreshRSS είναι μια καλή πρώτη αυτοφιλοξενούμενη υπηρεσία: χρειάζεται λίγους πόρους, εκτελείται σε Docker και γίνεται χρήσιμο αμέσως μετά την εισαγωγή των συνδρομών. Ένα δημόσιο VPS προσφέρει ενημερώσεις ροών 24/7, πρόσβαση από το τηλέφωνο και σωστή λειτουργία του WebSub.

Μια μικρή διαμόρφωση Linux συνήθως αρκεί για προσωπική εγκατάσταση. Στην tropic.host μπορείτε να αντιστοιχίσετε στο FreshRSS δικό του subdomain, να ξεκινήσετε με ένα VPS αρχικού επιπέδου και να κρατήσετε την υπηρεσία ανεξάρτητη από τον οικιακό υπολογιστή. Κατά την επιλογή πακέτου, η σταθερότητα, ο χώρος του αρχείου και τα αντίγραφα ασφαλείας είναι σημαντικότερα από ένα μεγάλο απόθεμα επεξεργαστικής ισχύος.

Συμπέρασμα

Το FreshRSS μετατρέπει δεκάδες ιστότοπους σε μια διαχειρίσιμη προσωπική ροή χωρίς αλγοριθμική κατάταξη. Υποστηρίζει εφαρμογές κινητού, φίλτρα, αποθηκευμένα ερωτήματα, πολλούς χρήστες, WebSub και επεκτάσεις, παραμένοντας αρκετά ελαφρύ για ένα μικρό VPS.

Για να ξεκινήσετε χρειάζεστε Docker, ένα domain και SQLite. Μετά την εγκατάσταση, ρυθμίστε κατηγορίες, αυτόματες ενημερώσεις, HTTPS και αντίγραφα ασφαλείας. Το FreshRSS θα εμφανίζει πλέον μόνο τις πηγές που επιλέξατε και θα κρατά τον έλεγχο της ανάγνωσης στα χέρια του χρήστη.

Συχνές ερωτήσεις

Είναι δωρεάν το FreshRSS;

Ναι. Το FreshRSS διανέμεται με άδεια AGPL-3.0. Πληρώνετε μόνο για την υποδομή, αν η εφαρμογή εκτελείται σε νοικιασμένο VPS.

Μπορεί να χρησιμοποιηθεί το FreshRSS χωρίς domain;

Ναι, εκθέτοντας τη θύρα του container. Για μόνιμη χρήση είναι καλύτερο να ρυθμίσετε domain και HTTPS, επειδή αυτό απλοποιεί την ασφαλή πρόσβαση, τον συγχρονισμό κινητού και το WebSub.

Πόση RAM χρειάζεται το FreshRSS;

Για μια προσωπική ροή, είναι λογικό να ξεκινήσετε με 1 GB RAM και SQLite. Ένα μεγάλο αρχείο, πολλοί χρήστες ή πρόσθετες υπηρεσίες θα χρειαστούν περισσότερη μνήμη.

Μπορώ να προσθέσω ιστότοπο χωρίς RSS;

Μερικές φορές. Το FreshRSS υποστηρίζει web scraping μέσω XPath, αλλά οι κανόνες πρέπει να ρυθμιστούν χειροκίνητα. Αν αλλάξει η διάταξη του ιστότοπου, μπορεί να χρειαστεί διόρθωση της πηγής.

Τι πρέπει να αντιγράφεται ασφαλείας;

Πρώτα απ’ όλα, δημιουργήστε αντίγραφο του volume freshrss_data: όταν χρησιμοποιείται SQLite, περιέχει τη βάση δεδομένων των άρθρων. Διατηρήστε επίσης το freshrss_extensions και δημιουργήστε dump για κάθε εξωτερική βάση δεδομένων.