Site Tools


troubleshooting:miniflux_freshrss

Miniflux SQLite Configuration Issue

Status: Resolved (switched to FreshRSS)
Date: 2026-05-27
Affected service: RSS feed reader

Symptom

Miniflux container repeatedly crashed with dial tcp [::1]:5432: connect: connection refused despite configuring SQLite via DATABASE_URL. The container would restart in a loop.

Diagnosis

docker logs miniflux --tail 10

Output showed:

level=INFO msg="The default value for DATABASE_URL is used"
dial tcp [::1]:5432: connect: connection refused

Miniflux was ignoring the DATABASE_URL environment variable and defaulting to PostgreSQL connection settings.

Root Cause

The official Miniflux Docker image is designed to work with PostgreSQL by default. SQLite support is poorly documented and the DATABASE_URL environment variable is not reliably honored in the Docker context. Multiple configuration attempts were made:

  • DATABASE_URL=sqlite3:/data/miniflux.db?_journal_mode=WAL * DATABASE_URL=file:/data/miniflux.db
  • Individual variables (DATABASE_CLIENT=sqlite, DATABASE_PATH=/data/miniflux.db)
  • Config file mount at /etc/miniflux

All attempts resulted in Miniflux defaulting to PostgreSQL and failing to connect.

Fix

Switched to FreshRSS, which uses SQLite by default without requiring special configuration:

freshrss:
  image: freshrss/freshrss:latest
  container_name: freshrss
  restart: unless-stopped
  environment:
    - TZ=America/Vancouver
  volumes:
    - ./freshrss/data:/var/www/FreshRSS/data
    - ./freshrss/extensions:/var/www/FreshRSS/extensions
  networks:
    - cafe_net

FreshRSS runs on Apache and serves on port 80. Caddy routing updated:

@rss host rss.folk.zone
handle @rss {
    reverse_proxy freshrss:80
}

FreshRSS Setup

After deployment, complete setup at https://rss.folk.zone/i/:

  1. Click Installation
  2. Choose database type: SQLite (default path is correct)
  3. Click Continue
  4. Create admin account
  5. Complete the wizard

See Also

troubleshooting/miniflux_freshrss.txt · Last modified: by 127.0.0.1