diy

How I Consume RSS in 2021

I was just looking at my iOS Screen Time report and noticed that I spend a good portion of my phone time reading RSS feeds. I'm guessing that's unusual and I thought it might be good to share my latest setup.

When Google Reader shut down in 2013 I installed Tiny Tiny RSS on an AWS server and used that regularly in a desktop browser without really touching it again until 2018. (Beyond regular OS updates.) I wrote about that update—Newsreader Update—which opened up reading feeds in a nice interface on my iPhone. I figured I'd go another five years without touching it, but no. Some quirk of the app was annoying enough that I looked at updating tt-rss and there has been a big improvement: Dockerization.

The salty folks who created and maintain tt-rss have packaged everything up with Docker so it's easier to maintain. Here's the tt-rss docker compose version. Now I have this running on a $5/month Digital Ocean server and the code updates with every reboot. The one piece I wasn't sure about was configuring the web server inside Docker. But it turned out to be pretty easy by setting up a reverse proxy on the host OS.

Anyway, I realize that not everyone is going to want to reverse proxy their way to reading RSS on their iPhone. But you can consume RSS feeds in 2021 with a little work. I still think having control of your primary news feed without all of the sorting, attention, and social alogrithms is the best way keep up with the web.

Newsreader Update

After the demise of Google Reader in 2013 I found the open source clone Tiny Tiny RSS and I've been using it to subscribe to websites ever since. I installed it on my own server, customized the interface quite a bit, and wrote a few plugins. And because I had put a lot of time into modifying it by editing the source files directly, I didn't upgrade it. Ever.

Tiny Tiny RSS has been evolving over the years and it's pretty ridiculous that I didn't upgrade. I probably missed 1,000+ bug fixes and performance enhancements releases in the last five years.

Earlier this week I was looking at the latest version and found that the PHP requirements changed. One does not simply upgrade PHP. "We're in the future now," I thought, "Shouldn't this all be serverless?" It's not. I did find something neat in the process though.

A company called Bitnami has an AWS image with Tiny Tiny RSS installed along with everything you need to run it. I threw this on the smallest AWS instance (a t2.micro) and had a more recent version up and running in minutes. It took a few more minutes to get a free LetsEncrypt cert going for SSL, a trifling more to run the feed updater as a service, and finally a smattering more minutes to export/import my subscriptions. But minutes none the less!

The new version means I can finally use a real iOS app to read as well. Reeder 3 for iOS is free now and works with Tiny Tiny RSS if you use the Fever API plugin. (Although it seems like the project is abandoned and I needed to add a couple lines of code to get it working; hooray open source life.)

And to top it all off I only directly edited one source file. So I'm learning. Here's to another five years of this particular version of Tiny Tiny RSS!