New RSS tools on a new micro PC

Posted on Jul 13, 2023
tl;dr: Using morss and rss-bridge, in combination with FreshRSS, I have been able to create a perfect (for me) RSS feed list that includes the full text from the articles.

I love RSS. I. LOVE. IT. So it goes without saying that I want to consolidate all of my internet consumption into my feed reader.

I have been self-hosting FreshRSS for years and have an OMPL that I’ve put a lot of work into. I access it the majority of the time on my Android phone using FeedMe. But, there are a couple little issues I’ve been trying to solve, especially since I started working on this “intermittent internet” project.

The TL;DR on that project is building a way to download various content and information from the web when I only have occasional access to the public internet. This is definitely a hypothetical situation that is just fun to think about, build, test, and archive. I’m a digital prepper and love to play with tech as a hobby, so this is what I do in my free time.

I will have a lot more to write up about this project later, once I’m done setting it up.

Full articles

An problem I identified in my intermittent internet project, and is a constant papercut with RSS, is that some places do not include the full article in the feed. They give a snippet and then you click through to the article.

I’d like to have the full article in my feed. One, it makes reading easier as I don’t have to click out of the app. Two, if I only have internet occasionally, I want the full article in my reeder since I won’t have the option to click through without intenet.

I want FreshRSS to go out and grab the full article and then sit on it fo rme to read during the time I don’t have the internet.

This is also helpful for me since I spend a lot of time out of cellular signal. As a contractor, I work in all kinds of remote areas without good signal. I’d like to read the news my feed reader grabbed without being forced to click through.

MoRSS

I had been looking at various options for pulling in full articles into FreshRSS using the custom CSS collector. But out of nowhere, I saw someone give a recommendation for morss.

The perfect answer to my problem just fell right into my lap.

morss is designed to do one thing: Get full text from articles in RSS. There is a public instance available at morss.it or you can self-host it using pip or Docker. Obviously I threw it up in a Docker container and had it working in about 5 min.

I had to manually update the feed URLs in FreshRSS, but my problem is solved.

rss-bridge

The other tool I am using to get more use out of my feeds is rss-bridge. This is a self-hosted tool for creating RSS feeds for sites that don’t have it natively. For example, the NY Times and the AP.

I have tried rss-bridge a few times over the years. I always ran into the same issue: I could never get the custom bridges to work. They always showed “inactive”. After finding morss, I decided to give it another shot.

According to the documentation, to enable bridges and custom configurations, you have to mount a directory and map it to /config in the container. Then create a file named config.default.ini and put one line at the top to enable all bridges.

This is wrong. In another part of their documentation, they advise to make a copy of the existing config.default.ini.php file. This is auto-generated by the container and does not live in /config.

To update the configuration, and get all custom bridges working, we need to exec into the container and copy the file.

docker exec -it rss-bridge /bin/bash

Move to the directory:

cd /app

Now copy the default config to our working directory that is mounted:

cp config.default.ini.php /config

Now exit the exec and work locally in the mounted directory. In my case its /mnt/pxe_storage/docker_config/rss-bridge

First we need to fix permissions with the file to be owned by me:

sudo chown USER:USER config.default.ini.php

Now rename the file:

mv config.default.ini.php config.ini.php

To enable all bridges, put this at the top of the section for bridges:

enabled_bridges[] = *

In order for all the bridges to work , we also need to download any custom bridges we want to use from here:

https://github.com/RSS-Bridge/rss-bridge/tree/master/bridges

I cloned the full repo, moved all the .php files in bridges, and deleted everything else.

One word… Glorious

The combination of FreshRSS, morss, and rss-bridge has been working flawlessly. My only issue now is I have too much in my feeds and can’t keep up.

I am running all three of these containers on a new mini PC I received for my birthday. It is the iKoolCore R1. I think I got one of the last ones, too. Almost right after my wife ordered it, they discontinued it for an upgraded model. The new model also costs $100 more, so I don’t feel bad about not getting the new one. So far, the R1 has been working fantastic.

Side note: I wiped Proxmox off it and install Debian. I tried Proxmox for a few days and determined its not for me.

Combined, all three of these containers are using less than 300MB of RAM. The R1 barely notices they are even there.

The plan is now to continue building my intermittent internet project using the R1. Once complete, I’ll take it for a test drive to the library to see how my RSS system functions and if I can get all the previous weeks news in my reader, with full articles, and function in a 100% offline setup.