TiloBox
Back to directory
FreshRSS project preview

FreshRSS

A self-hosted RSS and Atom feed aggregator with filtering, sharing, extensions, mobile APIs, and multi-user support.

LicenseAGPL-3.0
GitHub stars15.8k
Last commit1 weeks ago
Tags6 topics
Feed ReaderRssSelf HostedOpen SourcePhpDeveloper Tools
Overview

Why consider FreshRSS?

FreshRSS is a self-hosted RSS and Atom feed aggregator that allows users to collect, organize, and read syndicated content from across the web. It provides multi-user support, customizable database backends, automated Docker deployment, and a command-line interface for efficient feed management.

Guided learning

Learn FreshRSS by building

Practical setup notes, real use cases, and copy-ready examples in one focused guide.

4 min read 4 sections
In this guide4 sections

Deploying and Operating FreshRSS: A Self-Hosted Feed Aggregator

As documented in the official README, FreshRSS is a self-hosted RSS feed aggregator. Maintaining an independent feed reader allows users to track diverse news outlets, personal blogs, podcasts, and media channels while maintaining full ownership over their reading habits and history. According to the official documentation, It is a multi-user application with an anonymous reading mode. It supports custom tags. Users can organize subscriptions into customized categories, tag key stories, and access their feeds directly through modern web browsers or native mobile clients using standard synchronization APIs.

Architecture and Database Flexibility

Unlike lightweight readers limited to single-user local setups, FreshRSS is engineered for exceptional throughput and scalability. As highlighted on freshrss.org, FreshRSS can manage 1M+ articles and 50k+ feeds without complaining. To accommodate varied hosting environments from embedded hardware to enterprise container clusters, administrators have flexibility across database engines. As specified in the repository README, supported backends include PostgreSQL 10+ or SQLite or MariaDB 10.6+ or MySQL 8.0+. This modular architecture enables efficient SQLite deployments for personal instances or clustered SQL databases for multi-user installations.

Deploying FreshRSS with Docker

Containerization is the recommended method for setting up FreshRSS rapidly with isolated dependencies. According to the official Docker documentation, Our Docker images are designed with multi-architecture support, accommodating a variety of Linux platforms including linux/arm/v7, linux/arm64, and linux/amd64. You can deploy an automated standalone container using the official command below:

sh
1docker run -d --restart unless-stopped --log-opt max-size=10m \
2 -p 8080:80 \
3 -e TZ=Europe/Paris \
4 -e CRON_MIN=1,31 \
5 -v freshrss_data:/var/www/FreshRSS/data \
6 -v freshrss_extensions:/var/www/FreshRSS/extensions \
7 --name freshrss \
8 freshrss/freshrss

In the deployment command above, environment variables configure runtime behavior such as container timezones and automated background synchronization. As detailed in the Docker setup guide, the CRON_MIN parameter lets you Define minutes for the built-in cron job to automatically refresh feeds. Mounting persistent volumes ensures that subscription configurations, cached article data, and user preferences remain intact across image upgrades and container restarts.

Command-Line Administration and User Management

FreshRSS provides a dedicated command-line interface (CLI) that enables server operators to manage instances, automate maintenance, and script user creation directly. When interacting with the CLI on bare-metal or container setups, filesystem permissions require careful attention. As stated in the CLI documentation, It is recommended to invoke commands using the same user as your Web server:

sh
1cd /usr/share/FreshRSS
2sudo -u www-data sh -c './cli/list-users.php'

The CLI scripts also streamline non-interactive setup during automated infrastructure provisioning. As documented in the CLI reference, --default-user must be alphanumeric and not longer than 38 characters. The default user of this FreshRSS instance, used as the public user for anonymous reading. Setting up accounts via the command line ensures that automated scripts can safely bootstrap new installations without requiring manual intervention in the web installer.

Project Licensing and Resources

According to the official license file, The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software. Release artifacts and changelogs are published on the GitHub releases page. For source code tracking and community contributions, visit the main FreshRSS repository and explore the project on freshrss.org.

Related tools

More options with a similar category or technology profile.

FreshRSS FAQs

FreshRSS is listed as a Content Cms tool on TiloBox. Review the overview, features, and official documentation on this page to decide whether it solves your specific workflow.

Start with the project's GitHub repository and official website for supported installation and deployment instructions. Test the setup with representative data or a small project before rolling it out more widely.

FreshRSS is listed under the AGPL-3.0 license. Read the complete license text and the project's notices before using, modifying, or distributing the software.

Production readiness depends on your requirements. Review maintenance activity, security practices, documentation, backup and upgrade procedures, and compatibility with your stack; then validate it in a non-production environment.

FreshRSS is listed as an alternative to Feedly. Compare the core workflow, deployment model, integrations, and licensing against your must-have requirements before switching.