I used to host my own blog reader running TT-RSS. I’ve recently switched to Miniflux. I highly recommend it.
Advantages of Miniflux over TT-RSS
- Simple yet elegant interface. I can read blogs directly through a browser, either on a PC or Phone.
- The subscription’s rss/atom feed discovery is a lot better than those of TT-RSS. In many instances, TT-RSS cannot discover the feed whereas Miniflux can
- Only issue I noticed so far is that Miniflux discovers a lot feed entries. I haven’t figured out an efficient way of deciding which one(s) among the many I should subscribe.
- For blog entries without the body, the Download button is really nice!
My setup
I ran it using docker-compose, along with ol’ Apache web server.
Here is a sample docker-compose.yml
file:
version: '3.7'
services:
miniflux:
image: miniflux/miniflux:latest
ports:
- "8030:8080"
depends_on:
- db
environment:
- DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
- RUN_MIGRATIONS=1
- CREATE_ADMIN=1
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=password
db:
image: postgres:15
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
retries: 5
volumes:
miniflux-db:
Here is a sample Apache2 site conf. I use Let’s Encrypt to do https auto redirect.
Sample http
Apache2 conf
<VirtualHost *:80>
ServerName blog.mydomain.com
ServerAdmin example@example.com
ProxyPreserveHost On
ProxyRequests off
RequestHeader set X-Forwarded-Proto https
ProxyPass / http://127.0.0.1:8030/
ProxyPassReverse / http://127.0.0.1:8030/
RewriteEngine on
RewriteCond %{SERVER_NAME} =blog.mydomain.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
Sample https
Apache2 conf using Let’s Encrypt
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName blog.mydomain.com
ServerAdmin example@example.com
ProxyPreserveHost On
ProxyRequests off
RequestHeader set X-Forwarded-Proto https
ProxyPass / http://127.0.0.1:8030/
ProxyPassReverse / http://127.0.0.1:8030/
SSLCertificateFile /etc/letsencrypt/live/blog.mydomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/blog.mydomain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
Hope this helps. I plan to restart blog reading again, after many years of not doing it. It is still the best way to keep up with technology advancement.
Do you know good ways of generating X (formerly Twitter) and LinkedIn feeds? Please share if you do, thanks!