fox edited this page 9 months ago

% Updating Feeds

You have to setup one of this methods before you can start using tt-rss properly, otherwise your feeds won’t be updated.

Run update daemon if you are allowed to run background processes on your tt-rss machine. Otherwise, use one of the other methods. Third party packages and Docker containers usually have some way of updating built-in.

Update daemon

This is the recommended way to update feeds. Please use it if you have access to PHP command line interpreter and can run background processes. You can run single-process update daemon or update_daemon2.php (multi-process, runs several update tasks in parallel) using PHP CLI interpreter. Do not use PHP CGI binary to run command line scripts.

Please do not ever run update daemon or any PHP processes as root. It is recommended, but not required, to run the daemon under your website user id (usually www-data, apache or something like that) to prevent file ownership issues.

Run: php ./update.php --daemon (single process) or php ./update_daemon2.php (multi-process)

Script doesn’t daemonize (e.g. detach from the terminal).

Running under systemd

You can setup the daemon as a simple systemd service like this:

After=network.target mysql.service postgresql.service



Use journalctl -u ttrss_backend to look through daemon console output.

Periodical updating from crontab, using update script (update.php --feeds)

Use this if you have access to PHP command line interpreter but not allowed (e.g. by your hosting provider) to run persistent background processes. Do not try to run cronjobs with a PHP CGI binary, it’s not going to work. If you see HTTP headers being displayed when you run php ./update.php you are using an incorrect binary.

Full example (see man 5 crontab for more information on the syntax):

*/30 * * * * /usr/bin/php /path/to/tt-rss/update.php --feeds --quiet


  • /usr/bin/php should be replaced with the correct path to PHP CLI binary on your system. If you are not sure which binary or what path to use, ask your hosting provider.
  • Try the command using shell if possible to check if it works before setting up the cronjob.

Simple background updates

If all else fails and you can’t use any of the above methods, you can enable simple update mode where tt-rss will try to periodically update feeds while it is open in your web browser. Obviously, no updates will happen when tt-rss is not open or your computer is not running.

To enable this mode, set constant SIMPLE_UPDATE_MODE to true in config.php.

Note that only main tt-rss UI supports this, if you have digest or mobile open or use an API client (for example, android application), feeds are not going to be updated. You absolutely have to have tt-rss open in a browser tab on a running computer somewhere.