Public | Automated Build

Last pushed: 3 years ago
Short Description
Short description is empty for this repo.
Full Description


FreshRSS is a self-hosted RSS feed agregator like Leed or Kriss Feed.

It is at the same time light-weight, easy to work with, powerful and customizable.

It is a multi-user application with an anonymous reading mode.

Note on branches

This application is still in development! Please use the branch that suits your needs:


This application was developed to fulfill personal needs not professional needs.
There is no guarantee neither on its security nor its proper functioning.
If there is feature requests which I think are good for the project, I'll do my best to include them.
The best way is to open issues on GitHub


  • Light server running Linux or Windows
    • It even works on Raspberry Pi with response time under a second (tested with 150 feeds, 22k articles, or 32Mo of compressed data)
  • A web server: Apache2 (recommanded), nginx, lighttpd (not tested on others)
  • PHP 5.2.1+ (PHP 5.3.7+ recommanded)
  • MySQL 5.0.3+ (recommanded) or SQLite 3.7.4+
  • A recent browser like Firefox 4+, Chrome, Opera, Safari, Internet Explorer 9+
    • Works on mobile


  1. Get FreshRSS with git or by downloading the archive
  2. Dump the application on your server (expose only the ./p/ folder)
  3. Add write access on ./data/ folder to the webserver user
  4. Access FreshRSS with your browser and follow the installation process
  5. Every thing should be working :) If you encounter any problem, feel free to contact me.

Access control

It is needed for the multi-user mode to limit access to FreshRSS. You can:

  • use form authentication (need JavaScript and PHP 5.3.7+, works with some PHP 5.3.3+)
  • use Mozilla Persona authentication included in FreshRSS
  • use HTTP authentication supported by your web server
    • See Apache documentation
      • In that case, create a ./p/i/.htaccess file with a matching .htpasswd file.

Automatic feed update

  • You can add a Cron job to launch the update script.
    Check the Cron documentation related to your distribution (Debian/Ubuntu, Red Hat/Fedora, Slackware, Gentoo, Arch Linux…).
    It’s a good idea to use the web server user .
    For example, if you want to run the script every hour:
7 * * * * php /chemin/vers/FreshRSS/app/actualize_script.php > /tmp/FreshRSS.log 2>&1


  • For a better security, expose only the ./p/ folder on the web.
    • Be aware that the ./data/ folder contains all personal data, so it is a bad idea to expose it.
  • The ./constants.php file defines access to application folder. If you want to customize your installation, every thing happens here.
  • If you encounter any problem, logs are accessibles from the interface or manually in ./data/log/*.log files.


  • You need to keep ./data/config.php, ./data/*_user.php and ./data/persona/ files
  • You can export your feed list in OPML format from FreshRSS
  • To save articles, you can use phpMyAdmin or MySQL tools:
mysqldump -u user -p --databases freshrss > freshrss.sql

Included libraries

Only for some options

If native functions are not available

Docker Pull Command
Source Repository