FreshRSS
A self-hosted RSS and Atom feed aggregator with filtering, sharing, extensions, mobile APIs, and multi-user support.
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.
Learn FreshRSS by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
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:
docker run -d --restart unless-stopped --log-opt max-size=10m \ -p 8080:80 \ -e TZ=Europe/Paris \ -e CRON_MIN=1,31 \ -v freshrss_data:/var/www/FreshRSS/data \ -v freshrss_extensions:/var/www/FreshRSS/extensions \ --name freshrss \ freshrss/freshrssIn 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:
cd /usr/share/FreshRSSsudo -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.
Mayan EDMS
Free Open Source Electronic Document Management System with digital signatures.
Docspell
Personal document organizer that automates OCR, tagging, and metadata extraction.
Gollum
Simple, Git-powered wiki system that powers GitHub Wikis.
Docsify
A magical documentation site generator that parses Markdown on the fly.