2026.09.27

FreshRSS: Keep Feed Reading on Your Own Server

FreshRSS is a self-hosted RSS/Atom aggregator for individuals and small teams, with multi-user access, APIs, scraping, and WebSub. Review its PHP, database, permissions, and network requirements before deployment.

What it does

FreshRSS is a free, self-hosted RSS and Atom feed aggregator. It brings websites, podcasts, and video channels into one server-managed reading space. Users can read articles in a browser or connect mobile clients. It is a practical option for people who want to reduce dependence on hosted reader services, retain control of subscription data, or manage many sources from one place.

FreshRSS project screenshot 1

Image source: FreshRSS. Published by the project; the interface may vary by version.

Who it suits

Individuals can use it for long-term subscription management, while families, teams, and communities can use its multi-user model to provide separate reading spaces. Anonymous reading, custom tags, an API, and a command-line interface make it useful for both browser-first readers and users who want external clients or automation. FreshRSS is licensed under AGPL-3.0, making it relevant to users who value open-source licensing and self-hosted operation.

FreshRSS project screenshot 2

Image source: FreshRSS. Published by the project; the interface may vary by version.

Known features

Beyond ordinary RSS and Atom aggregation, FreshRSS supports WebSub for instant pushes from compatible publishers. For sites without RSS or Atom, it offers basic XPath-based web scraping and also supports JSON documents. Users can import and export OPML, and reshare filtered articles or user labels as HTML, RSS, or OPML. Login options include a web form, HTTP Authentication compatible with proxy delegation, and OpenID Connect. Themes and extensions provide additional customization.

Limitations before adoption

The README lists PHP 8.1 or newer, together with cURL, DOM, JSON, XML, session, and ctype extensions. Supported database choices include SQLite, PostgreSQL, MariaDB, and MySQL; administrators should verify exact version requirements in the project documentation. The project website claims that FreshRSS can handle more than one million articles and 50,000 feeds, but that is an official product-page statement rather than a capacity guarantee for every installation. Real limits depend on fetch schedules, storage, database behavior, and network conditions.

The 1.30.0 release notes describe a security-focused release that introduced a default block on local-network access and included multiple security fixes. This may affect installations that need to fetch internal addresses. Administrators should review allowlist settings carefully instead of broadly reopening network access. The release notes also say that the rolling edge channel receives security fixes faster, while the latest channel receives fewer updates but does not receive all fixes retroactively. The choice should match the operator’s maintenance capacity and tolerance for change.

Deployment considerations

For a manual installation, the project advises exposing only ./p/ to the web server and granting the web-server user write access to ./data/ without exposing that directory publicly, because it contains personal data. Plan HTTPS, backups, database maintenance, log review, and regular updates before going live. Automated installation paths such as Docker are available, but each should be checked against the existing reverse proxy, persistent storage, and authentication design. FreshRSS is provided without warranty, so production operators should validate feed fetching, backup restoration, and client access before relying on it.

Sources

Sources checked: 2026-09-27