Using Discourse as an RSS Reader

Like everyone who was probably using Google Reader back in the day before it shutdown I haven’t really used an RSS reader since. However I think it is a fabulous piece of technology and I don’t want it to go away. Even though I haven’t been using RSS for following blogs like I used to I have been using it for podcasts through the Overcast app so at least RSS has been getting a lot of use on that front.

As an effort to rely on twitter less, I wanted to get back into having some blogs to follow via RSS and decided to use a private discourse instance as my ad free RSS reader.

To use Discourse as an RSS reader I spun up a $5 a month digital ocean server, and installed Discourse. I then installed the RSS Polling plugin. I originally did this on my notebook site, but I didn’t like having blog posts fill up my latest feed and overrun all my notes so I highly recommend doing this on a dedicated reader site if you plan to follow a lot of feeds.

In setting all this up I discovered a few pain points that I do plan on smoothing out at some point so that others who would like to use this plugin can have an improved experience. Adding a feed it turns out is kind of complicated and involves more than one step unfortunately.

  1. Create a category for the blog you want to follow. Going into this I didn’t think I would have one category per blog. This is fine for my dedicated reader site, and maybe I could have one parent category called feeds with a sub-category per blog if I wasn’t using a dedicated site. As an example my first feed I added is for so my category name is actually I do think it would be nice though if each feed could have a tag though so that an entire separate category per feed wouldn’t be necessary.

  2. Once you have the category you have to add the hostname to the embed settings:

    Also configure these embedding settings which apply to all feeds: .
    I unchecked the the “Imported topics will be unlisted until there is a reply.” setting. I’m the only one reading this site remember, so having the topic be unlisted isn’t necessary.

  3. Now you can go to the RSS Polling plugin and add the actual feed.

    This page absolutely drives me nuts by the way because when you press the save button after adding a new url, it make a PUT request with all of the feeds in one giant json blob instead of making a single POST request for the new feed you are adding. Don’t worry this is now on my todo list.

Yes, I agree, this is too complicated for just adding an RSS feed, and I do plan on improving this plugin so that everything can be done in a single step, but for now I created three curl commands that I’ll morph into a ruby script so that all I’ll have to do is call something like add-rss-feed <url> as a single command to add a new feed.

Here is how the feed looks in my “reader”:

I also added my reader discourse site to my Discourse Hub iOS app, so that I can easily read on my phone.

One cool thing about using Discourse as an RSS reader is that I can create a reply to a topic, quote anything that stands out and want to remember, and add my own notes.

Another thing I realized is that you should just rely on the the grayed out read state or close topics if you are done with it, so that you can easily filter them out, but do not delete topics because they will be re-downloaded.

If you are interested in setting up Discourse as your RSS reader, but do not want to self host, you can sign up for hosting at Discourse for Teams - Pricing | Discourse for Teams.