yarr - selfhosted RSS reader

Posted on in category «Tech» by fnv with tags , , ,

yarr is RSS reader with simple Web GUI. There are some features: * manage feeds * import and export (OPML) * organize feeds into folders * simple design

Installation

I built yarr from source code due some limitation on my system. There is make file so process of building is quite simple, just run commands

git clone https://github.com/nkanaev/yarr.git
make build_linux
mv _output/linux/yarr /usr/local/bin

Configuration

The app runs unders standard user, is managed by systemd and accessible via nginx.

Let's start with user and such stuff

adduser yarr
mkdir /var/lib/yarr
chown yarr:yarr /var/lib/yarr
echo "user:user" > /usr/local/etc/yarr.passwd
chown yarr:yarr /usr/local/etc/yarr.passwd
chmod 640 /usr/local/etc/yarr.passwd

Systemd unit file /etc/systemd/system/yarr.service

[Unit]
Description=yarr server instance daemon
After=syslog.target network.target

[Service]
User=yarr
Group=yarr
ExecStart=/usr/local/bin/yarr -base yarr -auth-file /usr/local/etc/yarr.passwd -db /var/lib/yarr/yarr.db
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=52s

[Install]
WantedBy=multi-user.target

and start the app

systemctl daemon-reload
systemctl enable yarr.service
systemclt start yarr.service

Now, the app listen on localhost port 7070 and waiting for connection via nginx. I just added new localtion into existing serve configuration.
NOTE: Param ExecStart contains '-base yarr' which is required for nginx configuration.

        location /yarr/ {
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_pass http://127.0.0.1:7070;
        }

and restart nginx and yarr should work.