Technological Overthinking #1: RSS broadcasting
🌐 This blog entry is part of a series called Technological Overthinking
Since I joined this place I've got to share a few emails with some (really nice) people, which I heartfully wanted to follow and keep some contact. It's always lovely when a random person approaches you to talk about something you wrote. I've been keeping that feeling since then, but that's not the point of this post.
I used RSS readers in the past, going back to the days of iGoogle, then Google Reader, just to finish with Feedly. Lots of sources have moved from one platform to the next, but as sites begun to shrink ridiculous excerpts for you to click and get those juicy advertisement dollaridoos, I stopped using it all along. Still, didn't want to go back to Feedly, it's quite opinionated and not in a good, personal way. It feels more like a big, rolling billboard.
I went around the App Store and found a few good ones (mostly recommended by Jedda, thanks gal!), but still wasn't happy. What if I wanted to check on a bigger screen, like my laptop? Was I going to need to add the same source on multiple clients every time?
One client to rule them all
Introducing Miniflux, a selfhosted RSS reader that can also provide your saved feeds to other clients, that way all my followed peers are sync across platforms.
ℹ️ Most probably you'll notice how in this series of posts (Technological Overthinking) selfhosting is going to be a recurring theme.
As it's common with RSS readers, you can organize your feeds by category; but it also has support for multiple users, so you can take advantage if there are multiple people on your household using this service.
I'm deploying it on my home server with Docker
+ Portainer
, so I'm gonna drop the docker-compose config file in case it helps you to put it up:
services:
miniflux:
container_name: miniflux-front
image: miniflux/miniflux:latest
ports:
- "12500:8080" #The container will be accessible from port 12500, change to your own if necessary
depends_on:
db:
condition: service_healthy
environment:
- DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
- RUN_MIGRATIONS=1
- BASE_URL=https://rss.dragon.gal/ #Remote access path if you're using a reverse proxy
- CREATE_ADMIN=1 #Only needed for the first run
- ADMIN_USERNAME=admin #Only needed for the first run, you can change it in settings
- ADMIN_PASSWORD=test123 #Only needed for the first run, you can change it in settings
- POLLING_FREQUENCY=15 #With these settings according to my tests feeds refresh every 30 mins approx
- SCHEDULER_ROUND_ROBIN_MIN_INTERVAL=10
- SCHEDULER_ROUND_ROBIN_MAX_INTERVAL=30
- BATCH_SIZE=100
db:
container_name: miniflux-db
image: postgres:17-alpine
environment:
- POSTGRES_USER=miniflux
- POSTGRES_PASSWORD=secret
- POSTGRES_DB=miniflux
volumes:
- miniflux-db:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "miniflux"]
interval: 10s
start_period: 30s
volumes:
miniflux-db:
driver: local
driver_opts:
o: bind
type: none
device: /volume1/docker/miniflux/db #Path to a folder in your machine for data persistency
And once all feeds are added and set, all you have to do is find a compatible client that would sync with Miniflux! It has many integrations so it won't be much hard: If your client is compatible with Google Reader API, most probably it already works out of the box.
Any suggestions?
But I'm (mostly) a Windows + iPhone user, so I only will be able to suggest a few clients on these two platforms.
Fluent Reader (Windows)
Free - Website
I a sucker for native and clean UIs, and this is what it provides. It's really not very packed with features, but I'm a simple gal and don't need much else.
You can choose between 4 different styles of list visualization and configure for sources to load the whole webpage right in the app. Nice.
NetNewsWire (iOS/MacOS)
Free - Website
An open source and completely free iOS reader that does its work wonderfully. This is especially uncommon because an absurd amount of apps on iOS (and maybe mobile overall, but I'm an iOS user since 6 years ago) that require subscriptions for basic functionality.
I was going to ramble about how irritating this fact is (but I'll hold myself), because I don't want to be constantly renting software for life. Let me pay you and that's it, even if that implies paying again for a major version update in the future. Jeez.