6c96ffef01
Adds Miniflux on ana-docker as the unified inbox for tech blogs, Hacker News, lobste.rs, and selected subreddits. Reddit serves clean RSS for any sub at https://reddit.com/r/<sub>/.rss, so subreddit follows fold into the same inbox as everything else — no Reddit account needed, no manual polling. Stack: stacks/miniflux/ compose.yaml — miniflux + bundled postgres:16 .env.example — placeholders for DB password + admin user starter-feeds.opml — initial subscriptions (HN, Lobste.rs, r/selfhosted, r/homelab, r/LocalLLaMA, r/nba) README.md — deploy / OPML import / r/nba spoiler block-list / backup / update flow Postgres bundled with the stack (not pfi-postgres) — single-user RSS DB is tiny and the bundle keeps the dependency graph flat. Homepage gets a new 'News' group at the TOP of the Main tab (above Monitoring) so the Miniflux card sits prominently. The card itself auto-discovers via the homepage.* labels on the miniflux container. Per-feed block-list rule for r/nba documented in README — Reddit's RSS titles for game threads include scores ("Lakers 108 - Warriors 102 [Final]") which spoil the game; a regex catches the score patterns and skips those entries while keeping discussion/highlights. Deploy: scripts/elway ana-docker --playbook playbooks/deploy-miniflux.yaml Then edit /opt/docker/compose/miniflux/.env on the host to fill in the two CHANGE_ME passwords and `docker compose up -d` again.
38 lines
2.1 KiB
Bash
38 lines
2.1 KiB
Bash
# Miniflux stack tunables. Copy to `.env` on ana-docker before deploying
|
|
# and fill in the two passwords below.
|
|
|
|
# ── image pin ────────────────────────────────────────────────────────
|
|
# Pin to a tagged release. Bump deliberately — Miniflux ships breaking
|
|
# config changes occasionally (rare, but they exist).
|
|
MINIFLUX_VERSION=2.2.5
|
|
|
|
# ── network ──────────────────────────────────────────────────────────
|
|
# Host port. Container listens on 8080 internally.
|
|
# Reserved on ana-docker: 5001 Dockge, 7878 task-board, 8000 (other
|
|
# stacks), 8025/8088/8090/8100/8380/8780 (various). 8080 free.
|
|
MINIFLUX_PORT=8080
|
|
|
|
# Bind address. 0.0.0.0 exposes on all host interfaces; 127.0.0.1
|
|
# would restrict to ana-docker-local only.
|
|
MINIFLUX_BIND=0.0.0.0
|
|
|
|
# ── database (postgres bundled with this stack) ──────────────────────
|
|
# Strong password for the miniflux postgres user. Generate fresh:
|
|
# openssl rand -base64 24
|
|
# This password is only seen by the two containers in this stack
|
|
# (miniflux and miniflux-db share an internal docker network) so
|
|
# rotation isn't urgent, but don't reuse another service's password.
|
|
MINIFLUX_DB_PASSWORD=CHANGE_ME
|
|
|
|
# ── admin user (auto-created on first start) ─────────────────────────
|
|
# CREATE_ADMIN=1 in compose.yaml means the container will create this
|
|
# user the first time it starts against an empty DB. Subsequent starts
|
|
# are no-ops on this. Change the password from inside the UI later if
|
|
# you want — this var only matters for the initial bootstrap.
|
|
MINIFLUX_ADMIN_USERNAME=lkraven
|
|
MINIFLUX_ADMIN_PASSWORD=CHANGE_ME
|
|
|
|
# ── logging ──────────────────────────────────────────────────────────
|
|
# error / warning / info / debug
|
|
MINIFLUX_LOG_LEVEL=info
|