FreshRSS-i majutamine Managed VPS-is tähendab, et teie ja teie meeskond loete oma RSS-vooge masinast, mis on teie enda ning mida meie meeskonnad hoiavad ajakohasena ja jälgivad päeval ja öösel. FreshRSS on AGPL-3.0-litsentsiga vabatarkvara. See juhend järgib selle ametlikku dokumentatsiooni: paigaldus Docker Compose’iga, HTTPS, voogude värskendamine, kontod ja sisselogimine, API mobiilirakendustele, andmebaas, varukoopiad ja uuendused.
Autor: Simon Vasconcelos Lee
Avaldatud 11. novembril 2026Lugemisaeg: 13 minutit
data ja extensions, HTTPS-iga pöördproksi taga.CRON_MIN värskendab vooge iseenesest: projekt soovitab umbes kahte käivitust tunnis.data ning PostgreSQL-i või MySQL-i puhul andmebaas ja uuendage käsuga docker compose pull.FreshRSS on PHP-s kirjutatud ise majutatav RSS-voogude koondaja. README kirjeldab seda kui kerget, hõlpsasti kasutatavat, võimekat ja kohandatavat, enam kui kahekümnesse keelde tõlgituna. See on mitme kasutajaga rakendus, anonüümse lugemisrežiimi ja kohandatud siltidega.
FreshRSS-i arendab selle kogukond GitHubis ja selle ametlikku veebisaiti avaldab FreshRSS-i kogukond. Laiendused asuvad eraldi hoidlas ning dokumentatsioon katab kasutajad, administraatorid ja arendajad.
FreshRSS avaldatakse litsentsi GNU Affero General Public License, versioon 3 all: selle manifest composer.json deklareerib selle kui AGPL-3.0 ja selle README viitab litsentsi tekstile. See tekst kinnitab piiramatut luba muutmata programmi käitada. Seega võite projekti avaldatud tõmmist kasutada oma ettevõtte ja meeskonna jaoks, ilma et peaksite litsentsi ostma.
Artikkel 13 lisab AGPL-ile omase tingimuse: kui te programmi muudate, peab teie versioon pakkuma kõigile, kes seda kaugelt, võrgu kaudu kasutavad, võimalust saada selle lähtekood tasuta. Köitesse extensions lisatud kolmanda osapoole laiendus järgib oma litsentsi.
Projekt avaldab oma ametlikud tõmmised Docker Hubis nime all freshrss/freshrss, koos näidis-Compose’i failiga. Looge serveris, kuhu Docker on paigaldatud, kaust nimega freshrss ja pange sinna see compose.yaml, mis põhineb sellel failil ja Dockeri README-l:
volumes:
data:
extensions:
services:
freshrss:
image: freshrss/freshrss:latest
container_name: freshrss
hostname: freshrss
restart: unless-stopped
logging:
options:
max-size: 10m
volumes:
- data:/var/www/FreshRSS/data
- extensions:/var/www/FreshRSS/extensions
ports:
- 127.0.0.1:8080:80
environment:
TZ: UTC
CRON_MIN: '3,33'
TRUSTED_PROXY: 172.16.0.1/12 192.168.0.1/16
healthcheck:
test: ["CMD", "cli/health.php"]
timeout: 10s
start_period: 60s
start_interval: 11s
interval: 75s
retries: 3
docker compose up -d
127.0.0.1: FreshRSS on kättesaadav ainult pöördproksi kaudu, mis asub samas serveris. Projekti näidisfail avaldab pordi 8080 kohalikuks kasutuseks; aadress 127.0.0.1 jätab selle siin proksile.data hoiab konfiguratsiooni, kontosid ja SQLite’i puhul iga kasutaja andmebaasi. README märgib, et see sisaldab kõiki isikuandmeid. Docker Compose nimetab selle kausta järgi: freshrss_data.extensions hoiab kolmandate osapoolte laiendusi, kui neid lisate.TZ võtab serveri ajavööndi PHP-vormingus; vaikimisi on see UTC.TRUSTED_PROXY säilitab näidisfaili väärtuse: privaatsed vahemikud, kust proksi päringud tulevad. See otsustab, milline aadress läheb logidesse, kas külastaja või proksi oma.cli/health.php, et Docker teaks, kas instants vastab.Vaikesilt latest järgib viimast versiooniga väljalaset; edge järgib pidevat väljalaset; silt nagu 1.30.4 fikseerib versiooni ja järelliide -alpine annab sama Alpine’i baasil Debiani asemel. Uuenduste jaotis tuleb selle valiku juurde tagasi.
Kui pöördproksi on paigas, avage oma HTTPS-aadress: seadistusviisard küsib keelt, kontrollib serverit, pakub andmebaasi valikut ning loob seejärel administraatori konto koos selle parooli ja sisselogimisviisiga. SQLite töötab ilma ettevalmistuseta. Paigaldus toimib ka käsurealt, skriptidega cli/do-install.php ja cli/create-user.php, mis käivitatakse käsuga docker exec --user www-data freshrss.
Ressursside osas nõuab README kerget serverit Linuxi või Windowsiga ning märgib, et FreshRSS töötab isegi Raspberry Pi 1-l alla sekundiliste vastamisaegadega, 150 voo ja 22 000 artikliga. Suurus sõltub kasutajate, voogude ja säilitatavate artiklite arvust. Managed VPS-is kirjeldage meile oma kasutust ja soovitame sobiva suuruse.
Tootmiskasutuseks soovitab Dockeri README hostserveris pöördproksit, mis pakub HTTPS-i. Valige kõigepealt domeeninimi või alamdomeen, näiteks rss.example.com, mis viitab serverile A- ja AAAA-kirjetega. Projekt soovitab Traefikut ja avaldab selle jaoks täieliku Compose’i faili Let’s Encrypti sertifikaatide ja HTTP-lt HTTPS-ile suunamisega; samuti annab see näiteid Apache’i, Nginxi ja Caddy jaoks.
Caddy hangib sertifikaadi ja lubab HTTPS-i ise. See plokk järgib dokumentatsiooni alamdomeeni näidet, mis on siin suunatud kohalikult avaldatud pordile:
rss.example.com {
reverse_proxy 127.0.0.1:8080
}
See plokk järgib Dockeri README Nginxi näidet domeeni juure jaoks, mis on taandatud pordile 80, et Certbot saaks HTTPS-i paigaldada. Kaks viimast rida edastavad päise Authorization, mida Google Readeri API vajab:
upstream freshrss {
server 127.0.0.1:8080;
keepalive 64;
}
server {
listen 80;
listen [::]:80;
server_name rss.example.com;
location / {
proxy_pass http://freshrss/;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_read_timeout 90;
proxy_set_header Authorization $http_authorization;
proxy_pass_header Authorization;
}
}
Certbot paigaldab seejärel sertifikaadi ja hoolitseb selle uuendamise eest:
sudo certbot --nginx
FreshRSS hoiab oma avalikku aadressi väljal base_url failis data/config.php. API ja WebSub tuginevad sellele: kontrollige, et seal on teie https-aadress. Dockeri README näitab, kust see fail köitest leida:
docker volume inspect freshrss_data
sudo nano /var/lib/docker/volumes/freshrss_data/_data/config.php
docker compose restart freshrss
'base_url' => 'https://rss.example.com/',
FreshRSS toob uued artiklid oma skriptiga app/actualize_script.php. Dockeri tõmmisega tuleb kaasa ajastatud ülesanne, mis käivitab selle muutujas CRON_MIN antud minutitel. Ilma selle muutujata või tühja väärtusega jääb ülesanne välja lülitatuks ja vood ei värskene enam iseenesest.
13,43; ka */20 sobib.base_url, ja seadistusviisard lülitab selle sisse, kui serveril see on.Teine dokumenteeritud meetod: ajastatud ülesanne hostserveris, mis kutsub skripti konteineri sees. Sel juhul eemaldage CRON_MIN failist compose.yaml, et jääks üks meetod:
7,37 * * * * root docker exec --user www-data freshrss php ./app/actualize_script.php > /tmp/FreshRSS.log 2>&1
Alates versioonist 1.30.0 keeldub FreshRSS vaikimisi kohaliku võrgu aadressidest nagu 127.0.0.1, et kaitsta serveripoolse päringu võltsimise eest. Kõrvalteenus, mis toodab vooge, näiteks RSS-Bridge, lubatakse muutujaga INTERNAL_HOST_ALLOWLIST kujul rss-bridge:80 või süsteemi konfiguratsioonis. Väärtus * eemaldab kõik kontrollid ja dokumentatsioon peab seda ebaturvaliseks.
Paigaldamise ajal pakub FreshRSS vormiga sisselogimist, mis nõuab JavaScripti. See on vaikemeetod ja sobib enamikule instantsidele. Dokumentatsioon kirjeldab ka teisi:
| Meetod | Mida see teeb | Kus seda seadistatakse |
|---|---|---|
| Vorm | FreshRSS-i oma kasutajanimi ja parool | Seadistusviisard |
| HTTP-autentimine | Veebiserver kontrollib ligipääsu ja uued kasutajad luuakse nende esimesel sisselogimisel | Konteinerisse paigaldatud fail p/i/.htaccess koos selle failiga .htpasswd |
| Väline autentimine | Proksi edastab sisselogitud kasutaja päises Remote-User või X-WebAuth-User | TRUSTED_PROXY, mis loetleb usaldusväärsed proksid |
| OpenID Connect | Sisselogimine käib teie identiteedipakkuja kaudu, Apache’i mooduliga mod_auth_openidc | OIDC_ENABLED ja muutujad OIDC_*, Debiani tõmmises x86_64 jaoks |
Dokumentatsioon hoiatab, et FreshRSS usaldab iga aadressi, mis on loetletud muutujas TRUSTED_PROXY: halvasti kaitstud proksi laseks ründajal päise seada ja saada administraatori ligipääsu. Siin kuulab port ainult aadressil 127.0.0.1, mis jätab selle serveri enda proksile. Dokumentatsioon soovitab ka vältida autentimiseta instantsi niipea, kui server on teie võrgust väljastpoolt kättesaadav.
data/config.php väljadega mailer ja smtp: dokumentatsioon ütleb, et saatmist PHP funktsiooniga mail ametlikes Dockeri tõmmistes veel ei toetata.Mitme inimese jagatud instantsi puhul soovitab dokumentatsioon avada kontod inimestele, keda usaldate, ja hoida instantsi proksi või tulemüüri taga, mis blokeerib ligipääsu sisemistele aadressivahemikele.
FreshRSS töötab brauseris, nii suurtel kui väikestel ekraanidel, ning rakendustes Androidile, iOS-ile, Linuxile, Windowsile ja macOS-ile. Need rakendused kasutavad üht selle kahest API-st: Google Reader, mida README hindab parimaks, ja Fever, piiratumate funktsioonidega, vähem tõhus ja vähem turvaline.
https://rss.example.com/api/greader.php või Feveri jaoks https://rss.example.com/api/fever.php, koos kasutajanime ja selle API-parooliga.Kontrollimiseks avab profiilis API-parooli kõrval kuvatud link testlehe: PASS täieliku kontrolli juures kinnitab, et kõik toimib. Dockeri tõmmis seadistab Apache’i juba kodeeritud kaldkriipse aktsepteerima, mida mõned rakendused vajavad; Nginxiga ees säilitage päise Authorization edastamine.
README peab ühilduvate rakenduste tabelit koos nende platvormi, API ja funktsioonidega: muu hulgas Capy Reader ja Readrops Androidil, FeedFlow mobiilis ja töölaual, RSS Guard ja NewsFlash töölaual, ReadKit ja Reeder Classic iOS-il ja macOS-il.
FreshRSS-il on SQLite sisse ehitatud, mida Dockeri README kirjeldab kui lihtsaimat valikut, hea jõudlusega. Nõuete leht soovitab PostgreSQL 10 või uuemat ning aktsepteerib ka MariaDB 10.6 ja MySQL 8.0 või uuemat. Valik tehakse seadistusviisardis.
| Andmebaas | Seadistamine | Varukoopia |
|---|---|---|
| SQLite | Pole vaja: üks fail kasutaja kohta, data/users/<user>/db.sqlite | Köide data |
| PostgreSQL | Teenus postgres samas failis compose.yaml | pg_dump või cli/db-backup.php |
| MySQL või MariaDB | Teie andmebaasiserver ja selle hostinimi viisardis | mysqldump või cli/db-backup.php |
PostgreSQL-i jaoks lisage faili compose.yaml see teenus, mis põhineb projekti failil docker-compose-db.yml, ning köidete loendisse köide db. Parool läheb faili .env, faili compose.yaml kõrvale:
freshrss-db:
image: postgres:18
container_name: freshrss-db
hostname: freshrss-db
restart: unless-stopped
logging:
options:
max-size: 10m
volumes:
- db:/var/lib/postgresql
environment:
POSTGRES_DB: freshrss
POSTGRES_USER: freshrss
POSTGRES_PASSWORD: ${DB_PASSWORD}
DB_PASSWORD='a-long-unique-password'
Valige viisardis PostgreSQL ja sisestage hostiks freshrss-db, koos kasutaja, parooli ja andmebaasiga freshrss.
Selle valiku juurde saate hiljem tagasi tulla. Dokumentatsioon kirjeldab üleminekut ühelt andmebaasilt teisele, näiteks MySQL-ilt PostgreSQL-ile, või PostgreSQL-i uuemale peaversioonile: cli/db-backup.php kopeerib iga kasutaja andmebaasi SQLite’i faili ja seejärel laadib cli/db-restore.php selle uude andmebaasi.
README märgib, et FreshRSS-iga ei kaasne mingit garantiid: teie varukoopiad säilitavad teie tellimused, artiklid ja sätted. Siin on see, mida dokumentatsioon palub varundada:
| Element | Mida see hoiab | Varundada |
|---|---|---|
data/ | Konfiguratsioon, kontod, logid ja SQLite’i puhul andmebaasid | Kohustuslik; cache/ võib vahele jätta, FreshRSS ehitab selle uuesti |
extensions/ | Kolmandate osapoolte laiendused | Soovitatav, kui neid kasutate |
| Väline andmebaas | PostgreSQL-i, MySQL-i või MariaDB puhul kasutajate andmed | Kohustuslik, eraldi |
Dokumentatsioon peab hooldustoimingute ajal teenuse peatamist turvalisemaks. Dockeri köited kopeeritakse ajutise konteineriga, Dockeri dokumentatsioonis kirjeldatud meetodil:
docker compose stop freshrss
docker run --rm --volumes-from freshrss -v "$PWD":/backup ubuntu tar -czf /backup/freshrss-$(date +%F).tgz --exclude=data/cache -C /var/www/FreshRSS data extensions
docker compose start freshrss
Alates versioonist 1.29.1 oskab FreshRSS iga kasutaja andmebaasi ise SQLite’i faili eksportida, olenemata kasutatavast andmebaasist, ja hoida alles ainult viimased. Lülitage see eksport sisse failis data/config.php:
'auto_sqlite_export' => [
'enabled' => true,
'retention' => 7,
],
Seejärel ajastage käsk serveris, siin igaks ööks. Iga käivitus kirjutab faili data/users/<user>/sqlite-backups/<date>.sqlite ja kustutab failid, mis on üle viimase seitsme:
20 2 * * * root docker exec --user www-data freshrss cli/export-sqlite-auto.php --quiet
PostgreSQL-i puhul lisage eksport andmebaasi enda tööriistaga, nagu Dockeri README-s. Valik -T loobub terminalist, mida ajastatud ülesanne ei vaja:
docker compose exec -T freshrss-db pg_dump -U freshrss freshrss | gzip -9 > freshrss-postgres-$(date +%F).sql.gz
Liidesest tehtav OPML-eksport varundab teie voogude loendi, ilma mõne FreshRSS-ile omase sätteta, nagu juurdepääsuandmed või lehtede kraapimise reeglid. Täieliku koopia jaoks hoidke SQLite’i eksporte: serveri kettale pandud, jõuavad need ka selle öistesse varukoopiatesse.
docker compose stop freshrss.docker run --rm --volumes-from freshrss -v "$PWD":/backup ubuntu tar -xzf /backup/freshrss-YYYY-MM-DD.tgz -C /var/www/FreshRSS.cli/db-restore.php --delete-backup --force-overwrite.docker compose start freshrss ja kontrollige, et teie vood ja artiklid on alles.Korrake seda harjutust aeg-ajalt koopia peal: nii veendute, et varukoopia toimib.
Dockeri README annab kaks käsku, mida käivitatakse kaustast, kus asub compose.yaml. Köited jäävad paigale:
docker compose pull
docker compose up -d
FreshRSS avaldab kahes kanalis. Versiooniga väljalasked, silt latest, ilmuvad paar korda aastas, kindla kalendrita, ja nende parandusi vanematesse versioonidesse üle ei kanta. Pidev väljalase, silt edge, saab uued funktsioonid ja parandused kohe, kui need valmivad: alates versioonist 1.30.0 soovitab projekt seda kiiremate turvaparanduste jaoks.
data/, laiendused ja andmebaasi.1.29.1 selle tee võimalikuks.Uute väljalasete jälgimiseks avaldab projekt oma versioonide Atom-voo: tellige see oma FreshRSS-i instantsi.
Ise majutamine nõuab lisaks rakendusele ka serveri hoidmist. Managed VPS-is võtavad meie meeskonnad serveri enda hoole alla ja jälgivad teie instantsi proaktiivselt; FreshRSS jääb teie tarkvaraks oma sätete ja andmetega.
| Teema | Meie meeskonnad | Teie |
|---|---|---|
| Server | Süsteemi- ja turvauuendused, sekkumised serverisse kaasa arvatud | Hetk, mis sobib teie tegevusele |
| Seire | Serverit jälgitakse ööpäevaringselt, sekkumisega ilma teie kõnet ootamata | Teie instantsi logide lugemine |
| FreshRSS | Proaktiivne jälgimine: vead, aeglus ja kettaruum avastatakse, parandus soovitatakse | Selle paigaldus, uuendused ja sätted, mille rakendate teie või teie tehisintellekti assistent |
| Kontod ja vood | Neid kandev server, jälgitud ja varundatud | Kasutajad, tellimused, laiendused ja API-paroolid |
| Varukoopiad | Igal ööl, krüpteeritult ja masinast väljaspool hoituna; taastamine sisaldub | FreshRSS-i enda ekspordid ja taastamistaotlus, kui seda vajate |
| Üleviimine | Teie praeguse serveri üleviimine, tasuta | Ümberlülitamise hetk |
Kui eelistate, et meie meeskonnad sekkuksid rakendusse endasse, arveldatakse see teenus tunni- või kindlahinnaga, hinnapakkumine edastatakse enne sekkumist.
Simafri Managed VPS-iga hoiavad meie meeskonnad teie FreshRSS-i instantsi serveri ajakohasena, jälgivad seda päeval ja öösel ning sekkuvad ilma teie kõnet ootamata; nad jälgivad ka teie instantsi proaktiivselt ja soovitavad teile kasulikud parandused, mille rakendate ise või oma tehisintellekti assistendiga. Varukoopiad krüpteeritakse igal ööl ja hoitakse väljaspool masinat, nende taastamine sisaldub hinnas ning teie praeguse serveri üleviimine on tasuta.
Jah. FreshRSS on AGPL-3.0-litsentsiga: võite seda ettevõttes käitada, ilma et peaksite litsentsi ostma. Kui te seda muudate, peab teie versioon pakkuma oma lähtekoodi neile, kes seda võrgu kaudu kasutavad. Jääb ainult seda käitava serveri hind.
Looge compose.yaml tõmmisega freshrss/freshrss, köidetega data ja extensions ning aadressil 127.0.0.1 avaldatud pordiga ja käivitage docker compose up -d. Pange seejärel selle ette HTTPS-iga pöördproksi, avage oma aadress ja järgige seadistusviisardit.
Dockeri tõmmisega andke muutujale CRON_MIN käivitusminutid, näiteks 13,43: projekt soovitab umbes kahte käivitust tunnis. Ilma CRON_MIN-ita jääb sisseehitatud ülesanne välja lülitatuks. Sama tööd teeb serveris ajastatud ülesanne, mis käivitab konteineri sees app/actualize_script.php.
SQLite on sisse ehitatud ega vaja ettevalmistust; Dockeri README kirjeldab seda kui lihtsaimat, hea jõudlusega. Nõuete leht soovitab PostgreSQL 10 või uuemat ning aktsepteerib MariaDB 10.6 ja MySQL 8.0. Käsud db-backup ja db-restore võimaldavad hiljem andmebaasi vahetada.
Lülitage jaotises Autentimine sisse API ligipääs ja määrake seejärel oma profiilis API-parool. Sisestage ühilduvas rakenduses oma instantsi aadress api/greader.php, kuna README järgi on Google Readeri API parim, või api/fever.php.
Vaikimisi mitte: konfiguratsioon piirab kontod administraatori omaga. Teised loote jaotises Administreerimine, Kasutajate haldus, või suurendate süsteemi konfiguratsioonis kontode arvu, et registreerimisvorm kuvada.
Kopeerige köited data ja extensions peatatud teenusega. Lülitage sisse ka auto_sqlite_export ja ajastage cli/export-sqlite-auto.php, mis ekspordib igal ööl iga kasutaja andmebaasi SQLite’i. PostgreSQL-i puhul lisage pg_dump. Testige taastamist regulaarselt.
Managed VPS katab serveri: süsteem, turvalisus, seire ja varukoopiad. Meie meeskonnad jälgivad ka teie instantsi proaktiivselt ja soovitavad teile kasulikud parandused, mille rakendate teie. Sekkumine rakendusse arveldatakse tunni- või kindlahinnaga.
Simafri
Räägime teie kavatsusest
Öelge meile paari sõnaga, mida vajate: vastame teile kiiresti.
Aitäh! Teie päring on saadetud. Võtame teiega peagi ühendust.
Eelistate e-posti? Kirjutage meile aadressil support@simafri.com.