Mitināt FreshRSS Managed VPS serverī nozīmē, ka jūs un jūsu komanda lasāt savas RSS plūsmas uz savas mašīnas, ko mūsu komandas uztur atjauninātu un uzrauga dienu un nakti. FreshRSS ir atvērtā koda programmatūra ar AGPL-3.0 licenci. Šis ceļvedis seko tā oficiālajai dokumentācijai: uzstādīšana ar Docker Compose, HTTPS, plūsmu atjaunināšana, konti un pieteikšanās, API mobilajām lietotnēm, datubāze, rezerves kopijas un atjauninājumi.
Autors: Simon Vasconcelos Lee
Publicēts 2026. gada 11. novembrīLasīšanas laiks: 13 minūtes
data un extensions, aiz HTTPS reversā starpniekservera.CRON_MIN pats atjaunina plūsmas: projekts iesaka aptuveni divas palaišanas stundā.data rezerves kopiju un, ja izmantojat PostgreSQL vai MySQL, arī datubāzes kopiju, pēc tam atjauniniet ar docker compose pull.FreshRSS ir RSS plūsmu apkopotājs, uzrakstīts PHP valodā un paredzēts mitināšanai savā serverī. Tā README to raksturo kā vieglu, ērti lietojamu, jaudīgu un pielāgojamu, tulkotu vairāk nekā divdesmit valodās. Tā ir daudzlietotāju lietojumprogramma ar anonīmas lasīšanas režīmu un pielāgotām birkām.
FreshRSS izstrādā tā kopiena GitHub vietnē, un tā oficiālo vietni publicē FreshRSS kopiena. Paplašinājumi atrodas atsevišķā repozitorijā, un dokumentācija aptver lietotājus, administratorus un izstrādātājus.
FreshRSS tiek publicēts ar GNU Affero General Public License, 3. versiju: tā manifests composer.json to deklarē kā AGPL-3.0, un README sniedz saiti uz licences tekstu. Šis teksts apliecina neierobežotu atļauju darbināt nemainītu programmu. Tāpēc jūs varat savam uzņēmumam un komandai izmantot projekta publicēto attēlu, nepērkot nekādu licenci.
13. pants pievieno AGPL raksturīgu nosacījumu: ja jūs mainīsiet programmu, jūsu versijai jādod ikvienam, kas to izmanto attālināti, caur tīklu, iespēja bez maksas iegūt tās pirmkodu. Trešās puses paplašinājumam, kas pievienots sējumā extensions, ir sava licence.
Projekts publicē savus oficiālos attēlus Docker Hub vietnē ar nosaukumu freshrss/freshrss, kopā ar Compose faila piemēru. Serverī, kur uzstādīts Docker, izveidojiet mapi freshrss un ievietojiet tajā šo compose.yaml, ņemtu no šī faila un Docker README:
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 ir sasniedzams tikai caur reverso starpniekserveri, kas uzstādīts tajā pašā serverī. Projekta piemēra fails publicē portu 8080 lokālai lietošanai; adrese 127.0.0.1 šeit to rezervē starpniekserverim.data glabā konfigurāciju, kontus un, ar SQLite, katra lietotāja datubāzi. README norāda, ka tajā ir visi personiskie dati. Docker Compose to nosauc pēc mapes: freshrss_data.extensions glabā trešās puses paplašinājumus, ja tādus pievienojat.TZ norāda servera laika joslu PHP formātā; pēc noklusējuma UTC.TRUSTED_PROXY saglabā vērtību no piemēra faila: privātos diapazonus, no kuriem nāk starpniekservera pieprasījumi. No tā atkarīgs, kura adrese nonāk žurnālos, apmeklētāja vai starpniekservera.cli/health.php, lai Docker zinātu, vai instance atbild.Birka latest, kas ir noklusējums, seko jaunākajai numurētajai versijai; edge seko nepārtrauktajai versijai; birka, piemēram, 1.30.4, fiksē versiju, un sufikss -alpine dod to pašu uz Alpine bāzes, nevis Debian. Pie šīs izvēles atgriežas sadaļa par atjauninājumiem.
Kad reversais starpniekserveris ir ieviests, atveriet savu HTTPS adresi: uzstādīšanas vednis prasa valodu, pārbauda serveri, piedāvā izvēlēties datubāzi un pēc tam izveido administratora kontu ar paroli un pieteikšanās metodi. SQLite darbojas bez jebkādas sagatavošanas. Uzstādīt var arī no komandrindas ar cli/do-install.php un cli/create-user.php, palaižot tos caur docker exec --user www-data freshrss.
Attiecībā uz resursiem README prasa vieglu serveri ar Linux vai Windows un norāda, ka FreshRSS darbojas pat uz Raspberry Pi 1 ar atbildes laiku zem vienas sekundes, ar 150 plūsmām un 22 000 rakstu. Izmērs ir atkarīgs no lietotāju, plūsmu un saglabāto rakstu skaita. Ar Managed VPS aprakstiet mums savu lietojumu, un mēs jums iesakām piemērotu izmēru.
Ražošanas videi Docker README iesaka reverso starpniekserveri uz resursdatora servera, kas nodrošina HTTPS. Vispirms izvēlieties domēna vārdu vai apakšdomēnu, piemēram, rss.example.com, kas norāda uz serveri ar A un AAAA ierakstiem. Projekts iesaka Traefik un publicē tam pilnu Compose failu ar Let’s Encrypt sertifikātiem un pāradresāciju no HTTP uz HTTPS; tas dod arī piemērus Apache, Nginx un Caddy serveriem.
Caddy pats iegūst sertifikātu un ieslēdz HTTPS. Šis bloks seko dokumentācijas piemēram apakšdomēnam, šeit novirzītam uz lokāli publicēto portu:
rss.example.com {
reverse_proxy 127.0.0.1:8080
}
Šis bloks seko Docker README Nginx piemēram domēna saknei, saīsinātam līdz portam 80, lai Certbot varētu ieslēgt HTTPS. Pēdējās divas rindas nodod tālāk galveni Authorization, kas vajadzīga Google Reader API:
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;
}
}
Pēc tam Certbot uzstāda sertifikātu un parūpējas par tā atjaunošanu:
sudo certbot --nginx
FreshRSS glabā savu publisko adresi parametrā base_url, failā data/config.php. Uz to balstās API un WebSub: pārbaudiet, vai tajā ir jūsu https adrese. Docker README parāda, kur šo failu atrast sējumā:
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 ielādē jaunos rakstus ar savu skriptu app/actualize_script.php. Docker attēlā ir ieplānots uzdevums, kas to palaiž minūtēs, kas norādītas mainīgajā CRON_MIN. Bez šī mainīgā vai ar tukšu vērtību uzdevums paliek izslēgts, un plūsmas vairs neatjauninās pašas.
13,43; der arī */20.base_url, un uzstādīšanas vednis to ieslēdz, ja serverim tāda ir.Vēl viena dokumentēta metode: ieplānots uzdevums uz resursdatora servera, kas izsauc skriptu konteinerā. Tādā gadījumā izņemiet CRON_MIN no compose.yaml, lai paliktu viena metode:
7,37 * * * * root docker exec --user www-data freshrss php ./app/actualize_script.php > /tmp/FreshRSS.log 2>&1
Kopš versijas 1.30.0 FreshRSS pēc noklusējuma atsaka lokālā tīkla adreses, piemēram, 127.0.0.1, lai pasargātu no servera puses pieprasījumu viltošanas. Blakus esošu pakalpojumu, kas veido plūsmas, piemēram, RSS-Bridge, atļauj ar mainīgo INTERNAL_HOST_ALLOWLIST, formā rss-bridge:80, vai sistēmas konfigurācijā. Vērtība * noņem visas pārbaudes, un dokumentācija to sauc par nedrošu.
Uzstādīšanas laikā FreshRSS piedāvā pieteikšanos ar veidlapu, kam vajadzīgs JavaScript. Tā ir noklusējuma metode, un tā der vairumam instanču. Dokumentācija apraksta arī citas:
| Metode | Ko tā dara | Kur to iestata |
|---|---|---|
| Veidlapa | FreshRSS lietotājvārds un parole | Uzstādīšanas vednis |
| HTTP autentifikācija | Piekļuvi kontrolē tīmekļa serveris, un jauni lietotāji tiek izveidoti pirmajā pieteikšanās reizē | Fails p/i/.htaccess, montēts konteinerā, ar savu .htpasswd |
| Ārējā autentifikācija | Starpniekserveris nodod pieteikušos lietotāju galvenē Remote-User vai X-WebAuth-User | TRUSTED_PROXY, kas uzskaita uzticamos starpniekserverus |
| OpenID Connect | Pieteikšanās notiek caur jūsu identitātes nodrošinātāju, izmantojot Apache moduli mod_auth_openidc | OIDC_ENABLED un mainīgie OIDC_*, Debian attēlā uz x86_64 |
Dokumentācija brīdina, ka FreshRSS uzticas jebkurai adresei, kas norādīta TRUSTED_PROXY: slikti aizsargāts starpniekserveris ļautu uzbrucējam iestatīt galveni un iegūt administratora piekļuvi. Šeit ports klausās tikai uz 127.0.0.1, kas to rezervē paša servera starpniekserverim. Dokumentācija arī neiesaka nevienu instanci bez autentifikācijas, tiklīdz serveris ir sasniedzams no ārpuses jūsu tīkla.
mailer un smtp failā data/config.php: dokumentācija norāda, ka sūtīšana caur PHP funkciju mail oficiālajos Docker attēlos vēl netiek atbalstīta.Instancei, ko izmanto vairāki cilvēki, dokumentācija iesaka atvērt kontus cilvēkiem, kuriem uzticaties, un turēt instanci aiz starpniekservera vai ugunsmūra, kas bloķē piekļuvi iekšējiem adrešu diapazoniem.
FreshRSS darbojas pārlūkprogrammā, gan lielos, gan mazos ekrānos, un lietotnēs Android, iOS, Linux, Windows un macOS sistēmām. Šīs lietotnes izmanto vienu no tā diviem API: Google Reader, ko README vērtē kā labāko, un Fever, ar šaurākām iespējām, mazāk efektīvu un mazāk drošu.
https://rss.example.com/api/greader.php vai Fever gadījumā https://rss.example.com/api/fever.php, kopā ar lietotājvārdu un šo API paroli.Pārbaudei saite, kas profilā redzama blakus API parolei, atver testa lapu: PASS pilnajā pārbaudē apstiprina, ka viss darbojas. Docker attēls jau iestata Apache pieņemt kodētas slīpsvītras, kas vajadzīgas dažām lietotnēm; ja priekšā ir Nginx, saglabājiet galvenes Authorization pārsūtīšanu.
README uztur saderīgo lietotņu tabulu ar to platformu, API un iespējām: starp citām Capy Reader un Readrops Android ierīcēm, FeedFlow tālrunim un datoram, RSS Guard un NewsFlash datoram, ReadKit un Reeder Classic iOS un macOS sistēmām.
FreshRSS ir iebūvēts SQLite, ko Docker README raksturo kā vienkāršāko iespēju ar labu veiktspēju. Prasību lapa iesaka PostgreSQL 10 vai jaunāku un pieņem arī MariaDB 10.6 un MySQL 8.0 vai jaunāku. Izvēli izdarāt uzstādīšanas vednī.
| Datubāze | Ieviešana | Rezerves kopija |
|---|---|---|
| SQLite | Nav vajadzīga: viens fails katram lietotājam, data/users/<user>/db.sqlite | Sējums data |
| PostgreSQL | Pakalpojums postgres tajā pašā compose.yaml | pg_dump vai cli/db-backup.php |
| MySQL vai MariaDB | Jūsu datubāzes serveris un tā resursdatora vārds vednī | mysqldump vai cli/db-backup.php |
PostgreSQL gadījumā pievienojiet failam compose.yaml šo pakalpojumu, ņemtu no projekta faila docker-compose-db.yml, un sējumu sarakstam sējumu db. Parole tiek ievietota failā .env, blakus compose.yaml:
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'
Vednī izvēlieties PostgreSQL un kā resursdatoru ievadiet freshrss-db, kopā ar lietotāju, paroli un datubāzi freshrss.
Pie šīs izvēles varat atgriezties vēlāk. Dokumentācija apraksta pāreju no vienas datubāzes uz citu, piemēram, no MySQL uz PostgreSQL, vai uz jaunāku PostgreSQL galveno versiju: cli/db-backup.php kopē katra lietotāja datubāzi SQLite failā, pēc tam cli/db-restore.php to ielādē jaunajā datubāzē.
README norāda, ka FreshRSS tiek piedāvāts bez jebkādas garantijas: jūsu rezerves kopijas saglabā jūsu abonementus, rakstus un iestatījumus. Lūk, ko dokumentācija lūdz saglabāt:
| Elements | Ko tas glabā | Rezerves kopija |
|---|---|---|
data/ | Konfigurāciju, kontus, žurnālus un, ar SQLite, datubāzes | Obligāti; cache/ var izlaist, FreshRSS to izveido no jauna |
extensions/ | Trešās puses paplašinājumus | Ieteicams, ja tādus izmantojat |
| Ārējā datubāze | Ar PostgreSQL, MySQL vai MariaDB, lietotāju datus | Obligāti, atsevišķi |
Dokumentācija uzskata, ka drošāk ir apturēt pakalpojumu apkopes darbu laikā. Docker sējumus kopē ar pagaidu konteineru, metodi, kas aprakstīta Docker dokumentācijā:
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
Kopš versijas 1.29.1 FreshRSS pats prot eksportēt katra lietotāja datubāzi SQLite failā, neatkarīgi no izmantotās datubāzes, un paturēt tikai jaunākos. Ieslēdziet šo eksportu failā data/config.php:
'auto_sqlite_export' => [
'enabled' => true,
'retention' => 7,
],
Pēc tam ieplānojiet komandu serverī, šeit katru nakti. Katra palaišana ieraksta data/users/<user>/sqlite-backups/<date>.sqlite un izdzēš failus, kas pārsniedz pēdējos septiņus:
20 2 * * * root docker exec --user www-data freshrss cli/export-sqlite-auto.php --quiet
Ar PostgreSQL pievienojiet eksportu ar pašas datubāzes rīku, kā Docker README. Opcija -T atslēdz termināli, kas ieplānotam uzdevumam nav vajadzīgs:
docker compose exec -T freshrss-db pg_dump -U freshrss freshrss | gzip -9 > freshrss-postgres-$(date +%F).sql.gz
OPML eksports no saskarnes saglabā jūsu plūsmu sarakstu, bez dažiem FreshRSS raksturīgiem iestatījumiem, piemēram, piekļuves datiem vai lapu nolasīšanas noteikumiem. Pilnai kopijai glabājiet SQLite eksportus: novietoti servera diskā, tie nonāk arī tā nakts rezerves kopijās.
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, pēc tam pārbaudiet, vai jūsu plūsmas un raksti ir vietā.Laiku pa laikam atkārtojiet šo vingrinājumu uz kopijas: tā jūs pārbaudāt, vai rezerves kopija darbojas.
Docker README dod divas komandas, kas jāpalaiž no mapes ar compose.yaml. Sējumi paliek vietā:
docker compose pull
docker compose up -d
FreshRSS publicē divos kanālos. Numurētās versijas, birka latest, iznāk dažas reizes gadā, bez noteikta kalendāra, un to labojumi netiek pārnesti uz vecākām versijām. Nepārtrauktā versija, birka edge, saņem jaunas funkcijas un labojumus, tiklīdz tie ir gatavi: kopš versijas 1.30.0 projekts to iesaka ātrākiem drošības labojumiem.
data/, paplašinājumu un datubāzes rezerves kopiju.1.29.1.Lai sekotu jaunām versijām, projekts publicē savu versiju Atom plūsmu: abonējiet to savā FreshRSS instancē.
Mitināšana savā serverī prasa uzturēt serveri papildus lietojumprogrammai. Ar Managed VPS mūsu komandas uzņemas serveri un proaktīvi seko jūsu instancei; FreshRSS paliek jūsu programmatūra ar saviem iestatījumiem un datiem.
| Temats | Mūsu komandas | Jūs |
|---|---|---|
| Serveris | Sistēmas un drošības atjauninājumi, ieskaitot iejaukšanos serverī | Brīdis, kas der jūsu darbam |
| Uzraudzība | Serveris tiek uzraudzīts 24/7, iejaucoties, negaidot jūsu zvanu | Jūsu instances žurnālu lasīšana |
| FreshRSS | Proaktīva sekošana: kļūdas, palēninājumi un diska vieta tiek pamanīti, labojums tiek ieteikts | Tā uzstādīšana, atjauninājumi un iestatījumi, ko ieviešat jūs vai jūsu MI asistents |
| Konti un plūsmas | Serveris, kas tos nes, uzraudzīts un ar rezerves kopijām | Lietotāji, abonementi, paplašinājumi un API paroles |
| Rezerves kopijas | Katru nakti, šifrētas un glabātas ārpus mašīnas; atjaunošana iekļauta | FreshRSS raksturīgie eksporti un atjaunošanas pieprasījums, kad tas vajadzīgs |
| Migrācija | Jūsu pašreizējā servera migrācija, bez maksas | Pārslēgšanās brīdis |
Ja vēlaties, lai mūsu komandas iejaucas pašā lietojumprogrammā, šis pakalpojums tiek rēķināts par stundu vai par fiksētu summu, ar novērtējumu, kas paziņots pirms iejaukšanās.
Ar Simafri Managed VPS mūsu komandas uztur jūsu FreshRSS instances serveri atjauninātu, uzrauga to dienu un nakti un iejaucas, negaidot jūsu zvanu; tās arī proaktīvi seko jūsu instancei un iesaka noderīgus labojumus, ko ieviešat jūs paši vai jūsu MI asistents. Rezerves kopijas katru nakti tiek šifrētas un glabātas ārpus mašīnas, to atjaunošana ir iekļauta, un jūsu pašreizējā servera migrācija ir bez maksas.
Jā. FreshRSS ir ar AGPL-3.0 licenci: varat to darbināt uzņēmumā, nepērkot nekādu licenci. Ja to mainīsiet, jūsu versijai jāpiedāvā pirmkods tiem, kas to izmanto caur tīklu. Paliek tikai servera izmaksas, uz kura tas darbojas.
Izveidojiet compose.yaml ar attēlu freshrss/freshrss, sējumiem data un extensions un portu, publicētu uz 127.0.0.1, un palaidiet docker compose up -d. Pēc tam pirms tā novietojiet HTTPS reverso starpniekserveri, atveriet savu adresi un sekojiet uzstādīšanas vednim.
Ar Docker attēlu norādiet mainīgajā CRON_MIN palaišanas minūtes, piemēram, 13,43: projekts iesaka aptuveni divas palaišanas stundā. Bez CRON_MIN iebūvētais uzdevums paliek izslēgts. To pašu darbu veic ieplānots uzdevums serverī, kas konteinerā palaiž app/actualize_script.php.
SQLite ir iebūvēts un neprasa nekādu sagatavošanu; Docker README to raksturo kā vienkāršāko ar labu veiktspēju. Prasību lapa iesaka PostgreSQL 10 vai jaunāku un pieņem MariaDB 10.6 un MySQL 8.0. Komandas db-backup un db-restore ļauj vēlāk nomainīt datubāzi.
Sadaļā Autentifikācija ieslēdziet piekļuvi API, pēc tam savā profilā iestatiet API paroli. Saderīgā lietotnē ievadiet savas instances adresi api/greader.php, jo Google Reader API saskaņā ar README ir labākais, vai api/fever.php.
Pēc noklusējuma nē: konfigurācija ierobežo kontus ar administratora kontu. Pārējos izveidojat sadaļā Administrēšana, Lietotāju pārvaldība, vai arī sistēmas konfigurācijā palielināt kontu skaitu, lai parādītos reģistrācijas veidlapa.
Kopējiet sējumus data un extensions, pakalpojumam apturētam. Ieslēdziet arī auto_sqlite_export un ieplānojiet cli/export-sqlite-auto.php, kas katru nakti eksportē katra lietotāja datubāzi SQLite formātā. Ar PostgreSQL pievienojiet pg_dump. Regulāri pārbaudiet atjaunošanu.
Managed VPS aptver serveri: sistēmu, drošību, uzraudzību un rezerves kopijas. Mūsu komandas proaktīvi seko arī jūsu instancei un iesaka noderīgus labojumus, ko ieviešat jūs. Iejaukšanās lietojumprogrammā tiek rēķināta par stundu vai par fiksētu summu.
Simafri
Parunāsim par jūsu ieceri
Pasakiet mums dažos vārdos, kas jums vajadzīgs: mēs jums ātri atbildam.
Paldies! Jūsu pieprasījums ir nosūtīts. Drīzumā ar jums sazināsimies.
Labāk e-pastu? Rakstiet mums uz support@simafri.com.