tiny tiny rss: A great web-based feed reader!

I’ve just installed tiny tiny rss (tt-rss), an open source web-based news reader/aggregator for Atom, RDF and RSS feeds. Configuring it as the default news reader in Firefox is very easy (just click on the according link at the bottom of the preferences page) and a convenient solution.

The installation is pretty straightforward too, but here are a couple of hints for installing it on a Gentoo box:

1. Download the tt-rss-1.3.3.ebuild file and all other files and directories from http://overlays.gentoo.org/svn/proj/sunrise/reviewed/www-apps/tt-rss/ and place it in the www-apps/tt-rss directory (create it) in your local Portage overlay (usually /usr/local/portage).

2. Rename the file to tt-rss-1.3.4.ebuild (= the most recent version at the time of writing, released on Oct 21, 2009), execute ‘ebuild tt-rss-1.3.4.ebuild digest’, set the flags you need (e.g. for mysql and vhosts) and emerge the ebuild.

3. Follow the post-install instructions on the screen (bascially the official tt-rss installation notes)

If you intend to use the default, single-process update daemon, you can use the following init files I created (loosely based on Pierre-Yves Landure’s init script):

/etc/init.d/tt-rss:

#!/sbin/runscript
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

depend() {
    use net
    use mysql
}

#
# Function that starts the daemon/service
#
start() {
    ebegin "Starting $NAME daemon"
    start-stop-daemon --start --quiet --make-pidfile --background --chdir $DAEMON_DIR --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS
    eend $?
}

#
# Function that stops the daemon/service
#
stop() {
    ebegin "Stopping $NAME daemon"
    start-stop-daemon --stop --quiet --make-pidfile --retry=TERM/1/KILL/5 --pidfile $PIDFILE --name $NAME
    eend $?
}

(replace “mysql” by “postgresql” if you use postgresql)

/etc/conf.d/tt-rss:

# Defaults for the Tiny Tiny RSS update daemon init.d script

# Location of your Tiny Tiny RSS installation.
TTRSS_PATH="/var/www/localhost/htdocs/admin/tt-rss"

DAEMON_SCRIPT="update_daemon.php"

DAEMON=/usr/bin/php
DAEMON_ARGS="$TTRSS_PATH/$DAEMON_SCRIPT"
DAEMON_DIR="$TTRSS_PATH"
PIDFILE=/var/run/tt-rss.pid
NAME=tt-rss

(make sure TTRSS_PATH points to your tt-rss installation)

4. Note that for using the default update method, PHP needs to be compiled with pcntl support. If required, set the pcntl flag and remerge PHP.

5. Have fun!