From ae27826f58fd20cb52eea2c8b893e0fc15c53585 Mon Sep 17 00:00:00 2001 From: Crony Akatsuki Date: Tue, 13 May 2025 20:49:41 +0200 Subject: [PATCH] feat(odin): add miniflux, simple rss feed reader. --- modules/servers/odin/default.nix | 1 + modules/servers/odin/miniflux.nix | 28 ++++++++++++++++++++++++++++ modules/servers/odin/secrets.nix | 3 +++ secrets/miniflux.age | Bin 0 -> 981 bytes secrets/secrets.nix | 1 + 5 files changed, 33 insertions(+) create mode 100644 modules/servers/odin/miniflux.nix create mode 100644 secrets/miniflux.age diff --git a/modules/servers/odin/default.nix b/modules/servers/odin/default.nix index deccde3..c79147b 100644 --- a/modules/servers/odin/default.nix +++ b/modules/servers/odin/default.nix @@ -5,5 +5,6 @@ ./syncyomi.nix ./wallabag.nix ./upfast.nix + ./miniflux.nix ]; } diff --git a/modules/servers/odin/miniflux.nix b/modules/servers/odin/miniflux.nix new file mode 100644 index 0000000..abdd740 --- /dev/null +++ b/modules/servers/odin/miniflux.nix @@ -0,0 +1,28 @@ +{config, ...}: { + services.miniflux = { + enable = true; + config = { + LISTEN_ADDR = "127.0.0.1:8000"; + BASE_URL = "https://feed.cronyakatsuki.xyz"; + FETCH_YOUTUBE_WATCH_TIME = "1"; + }; + adminCredentialsFile = "${config.age.secrets.miniflux.path}"; + }; + + services.traefik.dynamicConfigOptions.http = { + services.miniflux.loadBalancer.servers = [ + { + url = "http://localhost:8000"; + } + ]; + + routers.miniflux = { + rule = "Host(`feed.cronyakatsuki.xyz`)"; + tls = { + certResolver = "porkbun"; + }; + service = "miniflux"; + entrypoints = "websecure"; + }; + }; +} diff --git a/modules/servers/odin/secrets.nix b/modules/servers/odin/secrets.nix index 75cfe0c..e777338 100644 --- a/modules/servers/odin/secrets.nix +++ b/modules/servers/odin/secrets.nix @@ -4,6 +4,9 @@ searx = { file = ../../../secrets/searx.age; }; + miniflux = { + file = ../../../secrets/miniflux.age; + }; }; }; } diff --git a/secrets/miniflux.age b/secrets/miniflux.age new file mode 100644 index 0000000000000000000000000000000000000000..5805654f23925a3b0c74e6c1ac23a0a1e2652804 GIT binary patch literal 981 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCSP3NXp@E?3abG)vCT zb$7M!EC?$PjtuuGsWLDMFUd>K%uTb%OViiSHpnhB%*pU_jpXu8@$jj1x5y6G);4e~ z&vVZ4cMmpjjI=2B@%FbYi!e=d&Iw8NDbe@#cSX0&Ogkg6AW$L0wX!l#zckS}KhV9f zAlo3!#K<%-$|pUsJlQ8Z%``p5+q=>r$vDj@B%8~`&C%D@qoTajsLaqSHQC5H)F3s~ ztFkD~IWpYQ)j2;T(ZsYWBh4u)xES5G9DRS6a7P90@)G|d)0B`Tmn0*nNXNuLuL92$ z-*UssQt#5p)M5+w^fY77+h(8 zi|`!xw17~3?_}+=B1d%F%(YFujRO@@azh-$GXe|qi(QhPgG#HioYFI$BFjSawX4d_ zOS~Pu0^D4@y}~05LX)|C3Vg#WBh$k3O+1qWbHfZXTp|L?{3^`Cd?P|L(~>LABXe_% z64NcB+yc>U^Dj3DaW7ZMbu=sT&JD;c_6YUN_H#6HGsM{ z+bt=t*e_B$*)XHjpdzy*#K54`pujQGtkO8$Kgh_;A}lv5KieoP$_XRh(o*!Jd;%3* zLITT8OVcW=(lXNA+&nTPvx72>O`Od zui)3?d6jl-yH?_(7@z%n7HMk>JDaiTvPT>Lbi2{@Awh)wjJ@{;cP)2E^JB-{qPx%d z|J=1^x90JGq5QX3U8ugjpnYE_Lq=YYbK{YzlO`X_dT;%}g7xvYd7JW^m}WZusLbNN dzKwHh@A}D0JPz5M+c)XmRmsYg>v>N40RYtvQ9J+u literal 0 HcmV?d00001 diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 4c65fed..3cf4326 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -24,4 +24,5 @@ in { "plausible.age".publicKeys = systems ++ users; "conduit.age".publicKeys = systems ++ users; "searx.age".publicKeys = systems ++ users; + "miniflux.age".publicKeys = systems ++ users; }