ScriptsApr 10, 2026·4 min read

FreshRSS — Self-Hosted RSS News Aggregator

FreshRSS is a free, self-hosted RSS feed aggregator with a modern web interface, multi-user support, Fever/Google Reader API, and browser/mobile app compatibility.

TL;DR
FreshRSS is a self-hosted RSS aggregator with multi-user support, API compatibility, and browser/mobile access.
§01

What it is

FreshRSS is a free, self-hosted RSS feed aggregator. It provides a modern web interface for subscribing to RSS and Atom feeds, organizing them into categories, and reading articles. It supports multiple users, the Fever and Google Reader APIs (for mobile app compatibility), and extensions for additional functionality.

FreshRSS targets developers, researchers, and information workers who want to control their news consumption without relying on third-party services. Self-hosting means your reading history and subscriptions stay private.

§02

How it saves time or tokens

Monitoring multiple news sources, blogs, and project releases manually means visiting dozens of websites daily. FreshRSS consolidates all feeds into a single interface with unread counts, search, and filters. The Google Reader API compatibility means you can use mobile RSS apps (Reeder, FeedMe, ReadYou) with your self-hosted instance, making it accessible everywhere.

§03

How to use

  1. Run FreshRSS with Docker:
docker run -d --name freshrss -p 8080:80 \
  -v freshrss-data:/var/www/FreshRSS/data \
  -e CRON_MIN=*/15 \
  -e TZ=America/New_York \
  freshrss/freshrss:latest
  1. Open http://localhost:8080 and complete the setup wizard.
  1. Add your first RSS feeds from the subscription management page.
  1. Enable the Google Reader API in settings if you want to connect mobile RSS apps.
§04

Example

# Docker Compose for production with PostgreSQL
version: '3'
services:
  freshrss:
    image: freshrss/freshrss:latest
    ports:
      - '8080:80'
    volumes:
      - freshrss-data:/var/www/FreshRSS/data
    environment:
      CRON_MIN: '*/15'
      TZ: America/New_York
    depends_on:
      - db
  db:
    image: postgres:16
    volumes:
      - db-data:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: freshrss
      POSTGRES_USER: freshrss
      POSTGRES_PASSWORD: changeme

volumes:
  freshrss-data:
  db-data:
§05

Related on TokRepo

§06

Common pitfalls

  • The default SQLite database works for single users but slows down with many feeds. Switch to PostgreSQL or MySQL for multi-user setups or large feed collections.
  • Feed refresh intervals affect server load. Setting CRON_MIN too aggressively (every minute) can strain both your server and the feed sources.
  • Some feeds require authentication or are behind paywalls. FreshRSS supports HTTP basic auth for feeds but cannot bypass login walls.

Frequently Asked Questions

Does FreshRSS support mobile apps?+

Yes. FreshRSS implements the Google Reader and Fever APIs, which are supported by most mobile RSS readers including Reeder, FeedMe, ReadYou, and NetNewsWire.

How many feeds can FreshRSS handle?+

FreshRSS handles hundreds of feeds comfortably with PostgreSQL. Users report running 500+ feeds without issues on modest hardware. SQLite may struggle beyond 100 feeds.

Is FreshRSS free?+

Yes. FreshRSS is open source under the AGPL-3.0 license. There are no paid tiers. You only pay for the server hosting it.

Can multiple users share one FreshRSS instance?+

Yes. FreshRSS supports multi-user setups with individual accounts, separate feed subscriptions, and reading states. Admins can manage users through the settings panel.

Does FreshRSS support full-text extraction?+

FreshRSS can extract full article content from feeds that only provide summaries using built-in content retrieval. This works for most websites but may fail on heavily JavaScript-dependent sites.

Citations (3)

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets