I am a big fan of RSS – both as a concept (easily readable and cataloged website updates) as “what it stands for” (an internet made from decentralized, low-weight information sources). The stories of its decline are largely exaggerated and are mostly fueled by the fact that the incumbent social media channels don’t support it – not because they can’t, but because it leads audiences away from their platform. However, close to all CMSs have Atom/XML feeds enabled by default; good luck finding a blog or news website without one. Furthermore, there are many community-driven tools to make sure that ‘the rest’ is covered (such as Kill The Newsletter for emails, Nitter for Twitter, and rss-bridge for pretty much everything else).
RSS feeds on their own are awesome, but you’ll need a reader to… read them with. The internet’s reader by choice used to be Google Reader, which is now unfortunately defunct. Luckily, there are tons of great services that do pretty much the same:
In most of the free plans coming with the above solutions, you can do the essentials: add (a limited number of) feeds and read them. And for most people, that will be more than enough. However, if you want to have the best experience (no ads, automation, filters, etc.), you’ll have to pay. I should know: I was a paying Inoreader customer for 4 years, and never regretted it.
In 2022, I decided to make the switch towards a self-hosted instance. I won’t go into detail about why/when you should (not) self-host anything, I believe this page covers the pros and cons pretty well. As I’m only a bit of a tinkerer, and by no means anything close to an SWE or systems geek, I decided to take a relatively easy route without foregoing useability and security.
After some research, I found the sweet spot: TT-RSS via YunoHost on a dirt-cheap Linode VPS. In this dummy-proof blog post, I’d like to cover the A to Z of setting this up in 30 minutes – 2 hours, depending on your technical skill level.
Your RSS reader needs to live on a server, either one that you plug in your own power outlet or one that you rent. I chose the latter option, because it’s the easiest (especially in terms of securing your box), but don’t let that hold you back. If you’re in it for the long run, it may be cheaper though ($5/mo rent VS $50 for the box and negligible electricity costs).
Many companies offer very low-cost (and low-horsepower) VPSs. I chose Linode, but you can just as well go for alternatives such as DigitalOcean or Vultr. All these companies’ options have pretty much the same specs and ‘extras’ for the exact same price range. They even have the same “$100 credit in first 60 days” offer – which we won’t overrun, we’re renting the absolute cheapest box anyway.
After creating an account, follow these steps:
The authenticity of host '000.000.000.00 (000.000.000.00)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
firstname.lastname@example.org's password: (password)
If your brain is tiny, like mine, you don’t want to install your RSS reader (and other web applications) directly on the machine. Instead, we’re going to install YunoHost, a Debian-based OS that does all the hard stuff for you. Similar solutions exist, but the ones I’ve tried are either less mature (CapRover), paid (Cloudron), or don’t have all the bling that we want (Sandstorm).
YunoHost is awesome for a variety of reasons, including the fact that they have a library of one-click app installs. If you want to know more, I suggest taking a look at their (noob-friendly) documentation.
To install YunoHost, take the following steps.
root@localhost:~# curl https://install.yunohost.org | bash
Are you sure you want to proceed with the installation of Yunohost?
Do you agree to let YunoHost apply those changes to your configuration and therefore affect the way you connect through SSH ?
root@localhost:~# yunohost tools postinstall
$ yunohost user create (username)
First name: (name)
Last name: (name)
Confirm password: (password)
Domain to use for the user's email address and XMPP account (default: (domainname).nohost.me):
Success! User created
fullname: Karel VO
Finally, we’re ready to install our feed aggregator from Yunohost’s extensive list of one-click install applications. Out of the box, YH offers multiple RSS readers – including the much-loved FreshRSS. Upon trying my options, I decided to stick with my original choice: Tiny Tiny RSS (also called TT-RSS).
To install TT-RSS on YunoHost, follow these steps:
And you’re all set! Enjoy your fully self-hosted Tiny Tiny RSS!
Since it’s outside of the scope of this blog post: if you’re unsure on how to get started with Tiny Tiny RSS, check out the TT-RSS documentation.
Tiny Tiny RSS comes with a handful of themes. However, if those don’t suit your needs, you can always switch to the (IMHO more polished) TT-RSS Feedly theme – click the link for screenshots. To do so, take the following steps:
I like to read my feeds on the go. As an Android user, I can say with a fair degree of certainty that FeedMe is the best TT-RSS supported feed reader you’ll find. It’s bulging with features (many more than my previous official Inoreader app, for example) and nothing’s behind and pay/adwall – but you have the option to support the developer from within the app.
Whichever third-party application you choose, you need to take the following steps: