From 25dad868742bf2f2681095786446fbadd9a5418a Mon Sep 17 00:00:00 2001 From: Yan Lin Date: Wed, 3 Dec 2025 20:11:38 +0100 Subject: [PATCH] add miniflux module --- hosts/nixos/hs/system.nix | 1 + hosts/nixos/vps/proxy.nix | 21 +++++++++++++++++++++ modules/miniflux.nix | 25 +++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 modules/miniflux.nix diff --git a/hosts/nixos/hs/system.nix b/hosts/nixos/hs/system.nix index a5fafa5..c7b2ff7 100644 --- a/hosts/nixos/hs/system.nix +++ b/hosts/nixos/hs/system.nix @@ -11,6 +11,7 @@ ../../../modules/login-display.nix ../../../modules/samba.nix ../../../modules/media-server.nix + ../../../modules/miniflux.nix ]; # GRUB bootloader with ZFS support diff --git a/hosts/nixos/vps/proxy.nix b/hosts/nixos/vps/proxy.nix index 035c56a..31bcaa7 100644 --- a/hosts/nixos/vps/proxy.nix +++ b/hosts/nixos/vps/proxy.nix @@ -78,6 +78,18 @@ }; }; + # Miniflux RSS reader + rss = { + rule = "Host(`rss.yanlincs.com`)"; + service = "rss"; + tls = { + certResolver = "cloudflare"; + domains = [{ + main = "*.yanlincs.com"; + }]; + }; + }; + }; services = { @@ -136,6 +148,15 @@ }; }; + # Miniflux RSS backend + rss = { + loadBalancer = { + servers = [{ + url = "http://lan.hs.yanlincs.com:8070"; + }]; + }; + }; + }; }; diff --git a/modules/miniflux.nix b/modules/miniflux.nix new file mode 100644 index 0000000..39e8617 --- /dev/null +++ b/modules/miniflux.nix @@ -0,0 +1,25 @@ +{ config, lib, ... }: + +let + cfg = config.services.miniflux-custom; +in +{ + options.services.miniflux-custom = { + port = lib.mkOption { + type = lib.types.port; + default = 8070; + description = "Port for Miniflux to listen on"; + }; + }; + + config = { + services.miniflux = { + enable = true; + adminCredentialsFile = "/etc/miniflux-admin-credentials"; + config = { + LISTEN_ADDR = "0.0.0.0:${toString cfg.port}"; + BASE_URL = "https://rss.yanlincs.com"; + }; + }; + }; +}