DEV.co
Open-Source DevOps · FreshRSS

FreshRSS

FreshRSS is a self-hosted, multi-user RSS feed aggregator written in PHP that runs on lightweight infrastructure like Raspberry Pi. It supports feed subscriptions, web scraping, WebSub push notifications, and offers a REST API for mobile clients.

Source: GitHub — github.com/FreshRSS/FreshRSS
15.5k
GitHub stars
1.2k
Forks
PHP
Primary language
AGPL-3.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
RepositoryFreshRSS/FreshRSS
OwnerFreshRSS
Primary languagePHP
LicenseAGPL-3.0 — OSI-approved
Stars15.5k
Forks1.2k
Open issues682
Latest release1.29.1 (2026-05-20)
Last updated2026-07-07
Sourcehttps://github.com/FreshRSS/FreshRSS

What FreshRSS is

PHP 8.1+ application with PDO abstraction supporting PostgreSQL, SQLite, MySQL, or MariaDB. Provides XPath-based web scraping, JSON feed parsing, and multiple authentication methods (form, HTTP, OpenID Connect). Single-user or multi-user deployment via Apache/nginx/lighttpd.

Quickstart

Get the FreshRSS source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/FreshRSS/FreshRSS.gitcd FreshRSS# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Personal or small-team feed aggregation

Self-hosted RSS reader for individuals or workgroups wanting full data control, no cloud lock-in, and minimal resource overhead.

News monitoring and content curation

Aggregate RSS feeds from news sources, blogs, and websites. Supports custom HTML/RSS/OPML export for curated article collections and feed resharing.

IoT and embedded deployment

Lightweight footprint demonstrated on Raspberry Pi 1 (response time <1s with 150 feeds, 22k articles). Suitable for always-on, low-power environments.

Implementation considerations

  • Database choice (SQLite, PostgreSQL, MySQL, MariaDB) impacts scalability and operational complexity; SQLite is simplest for small deployments, PostgreSQL recommended for multi-user.
  • Security posture requires attention: expose only ./p/ folder to web, keep ./data/ (containing personal data) private, use HTTPS, enable HTTP auth or OpenID Connect for multi-user setups.
  • PHP extensions (cURL, DOM, JSON, XML, session, ctype required; PDO_SQLite, GMP, IDN, mbstring, iconv, ZIP, zlib recommended) must be verified and compiled into host environment.
  • Feed update mechanism is polling-based; WebSub support allows push notifications from compatible sources (WordPress, Friendica, Medium, Blogger) to reduce polling overhead.
  • Deployment options range from manual tarball extraction to Docker, YunoHost, Cloudron, PikaPods; choice depends on target infrastructure and operational model.

When to avoid it — and what to weigh

  • Massive enterprise multi-tenancy at scale — Not designed for thousands of concurrent users or large SaaS deployments. Better suited to small-to-medium teams or personal use.
  • Minimal operational expertise available — Requires Linux/Windows server administration, PHP runtime setup, database configuration, and security hardening (e.g., exposing only ./p/ folder). Managed services (Docker, YunoHost) exist but still require some DevOps familiarity.
  • Proprietary or tightly integrated commercial ecosystem — AGPL-3.0 license requires derivative works to be open-source and share source code with users. Not suitable if you intend to build closed-source extensions without sharing code.
  • Real-time processing of massive feed volumes — Single-machine architecture with polling-based feed updates. Not optimized for high-frequency, low-latency ingestion of thousands of feeds simultaneously.

License & commercial use

GNU Affero General Public License v3.0 (AGPL-3.0). Copyleft license requiring any modifications or derivative works accessible to users to be open-source and distributed under the same license. Network use clause (Section 13) applies: if software is accessed over a network, source code must be offered to network users.

Using FreshRSS as-is (unmodified) for internal news aggregation is permissible. However, integrating AGPL code into proprietary products, offering hosted SaaS without disclosing source, or distributing closed-source extensions requires licensing review. Consult legal counsel if building a commercial service or derivative product.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityLow
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

Project includes security-relevant advice (expose only ./p/ folder, protect ./data/ folder, use HTTPS) but no CVE disclosures or penetration test results provided in source data. Multiple authentication methods (form, HTTP, OpenID Connect) reduce single-point-of-failure. Database and PHP runtime security depend on host configuration (extensions, database updates, server hardening). No warrant provided (disclaimer in README).

Alternatives to consider

Miniflux

Lightweight self-hosted RSS aggregator in Go; smaller footprint, compiled binary, fewer runtime dependencies than PHP. Fewer built-in features but simpler deployment.

Nextcloud News

RSS app within Nextcloud ecosystem; integrates with existing Nextcloud infrastructure, offers richer user features (file sync, contacts, calendar). More heavyweight, requires Nextcloud deployment.

Tiny Tiny RSS (tt-rss)

Established self-hosted PHP RSS reader with mobile app support and plugin ecosystem. Smaller codebase, different UI/UX. Similar licensing (GPL-3.0 for core) and self-hosting model.

Software development agency

Build on FreshRSS with DEV.co software developers

Explore FreshRSS deployment options via Docker, YunoHost, or manual install. Review our DevOps and web development services if you need help with setup, security hardening, or custom integrations.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

FreshRSS FAQ

Can I run FreshRSS in a multi-user environment?
Yes. FreshRSS is a multi-user application with per-user feed subscriptions and read state. Multiple authentication methods (form-based login, HTTP auth, OpenID Connect) support different organizational scenarios.
What database should I choose for a small deployment?
SQLite is simplest for single-user or small-team setups; no separate database service needed. PostgreSQL is recommended for larger multi-user instances or if you want robust backups and scaling.
Can I use FreshRSS in a commercial product?
Unmodified use (internal feed reading) is allowed. If you embed FreshRSS code or modify it and distribute it (SaaS or otherwise), AGPL-3.0 requires you to open-source the result and share code with users. Consult legal counsel for your specific scenario.
How often does FreshRSS receive updates?
Releases occur every 2–3 months. An unstable 'edge' branch offers rolling updates. Active development is visible via GitHub activity (last push 2026-07-07).

Software development & web development with DEV.co

Need help beyond evaluating FreshRSS? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source devops integrations — and maintain them long-term.

Ready to self-host your RSS feeds?

Explore FreshRSS deployment options via Docker, YunoHost, or manual install. Review our DevOps and web development services if you need help with setup, security hardening, or custom integrations.