Blog reading using Miniflux


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!

,

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.