Self-host FreshRSS
A free, self-hosted RSS aggregator — fast, themeable, and extensible, with built-in scraping for sites that dropped their feeds. Owns your reading, ad-free.
Key facts
Pick FreshRSS when you want a full-featured web reader — themes, extensions, built-in scraping for pages that dropped their feed, a Google Reader-compatible API for mobile apps — on the smallest possible box: upstream says its "requirements are really low" and it "should run on most shared host servers". It is AGPL-3.0 PHP; the official image is Apache + PHP with SQLite by default and PostgreSQL 10+ or MariaDB 10.6+/MySQL 8+ as options. If you would rather have a single Go binary with no extensions and no scraping, Miniflux is the opinionated alternative — but it makes Postgres mandatory.
What you need
- Any VPS with at least 256 MB of RAM
- A domain you control — most self-hosted setups need HTTPS in front of them
- Under an hour if you've used Docker before
Paid link — we earn a commission if you shop through it.
Install
Run these commands on your server:
# FreshRSS — official Docker README "Quick run" (rolling :edge channel; :latest is the versioned release)
# CRON_MIN is off by default — without it feeds never refresh on their own
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/freshrss:edge
# open http://SERVER_IP:8080 to complete the installation in the web UIWhat you take on
FreshRSS is easy to run and easy to run wrong; the Docker README names the traps: