Nas Docker Rss Subscription Service

- 2 mins read

For me, Freshrss is better.

I plan to test them one by one, but stop at Freshrss as I’m satisfied with it.

Planned testing sequence in order: Miniflux -> Freshrss -> Tiny tiny rss

My requirement:

  • Subscribe > 100 feeds
  • Use on PC & mobile
  • Feeds are manageable (feeds with error, remove feeds)

Comparison:

  • Miniflux

    • can suscribe >100 feeds
    • Easy to use on both PC & mobile
  • Freshrss

    • can subscribe >100 feeds
    • Easy to use on both PC & mobile
    • Better subscription mangement (e.g. remove number of feeds without click them 1 by 1)
    • Better GUI

Docker-compose

Freshrss

version: "2.4"

volumes:
  db:
  data:
  extensions:

services:
  freshrss:
    image: freshrss/freshrss:latest
    container_name: freshrss
    hostname: freshrss
    restart: unless-stopped
    logging:
      options:
        max-size: 10m
    volumes:
      - data:/var/www/FreshRSS/data
      - extensions:/var/www/FreshRSS/extensions
    environment:
      TZ: Asia/Hong_Kong
      CRON_MIN: '3'
      TRUSTED_PROXY: 0
    ports:
        - "8080:80"
    
  freshrss-db:
    image: postgres:16
    container_name: freshrss-db
    hostname: freshrss-db
    restart: unless-stopped
    logging:
      options:
        max-size: 10m
    volumes:
      - db:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: freshrss-db
      POSTGRES_USER: freshrssuser
      POSTGRES_PASSWORD: freshrsspassword
    command:
      # Examples of PostgreSQL tuning.
      # https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server
      # When in doubt, skip and stick to default PostgreSQL settings.
      - -c
      - shared_buffers=1GB
      - -c
      - work_mem=32MB

miniflux

version: '3'
services:
  miniflux:
    image: miniflux/miniflux:latest
    ports:
      - "8756:8080"
    depends_on:
      db:
        condition: service_healthy
    environment:
      - DATABASE_URL=postgres://miniflux:miniflux@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=miniflux
    volumes:
      - miniflux-db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD", "pg_isready", "-U", "miniflux"]
      interval: 10s
      start_period: 30s
volumes:
  miniflux-db: