diff --git a/lib/data/services.toml b/lib/data/services.toml index 0266c7ee..714eb312 100644 --- a/lib/data/services.toml +++ b/lib/data/services.toml @@ -47,6 +47,11 @@ port = 6922 host = "marvin" extUrl = "matrix.pyrox.dev" +[miniflux] +port = 6903 +host = "marvin" +extUrl = "rss.pyrox.dev" + [nextcloud] port = 6926 host = "marvin" diff --git a/systems/x86_64-linux/marvin/default.nix b/systems/x86_64-linux/marvin/default.nix index 199c6668..9d1d7b79 100644 --- a/systems/x86_64-linux/marvin/default.nix +++ b/systems/x86_64-linux/marvin/default.nix @@ -18,6 +18,7 @@ ./services/iceshrimp.nix ./services/jellyfin.nix ./services/matrix.nix + ./services/miniflux.nix ./services/nginx.nix ./services/nextcloud ./services/planka.nix diff --git a/systems/x86_64-linux/marvin/services/miniflux.nix b/systems/x86_64-linux/marvin/services/miniflux.nix new file mode 100644 index 00000000..2cca5432 --- /dev/null +++ b/systems/x86_64-linux/marvin/services/miniflux.nix @@ -0,0 +1,26 @@ +{config, lib, ...}: let + d = lib.py.data.services.miniflux; +in { + services.miniflux = { + enable = true; + config = { + PORT = d.port; + FETCH_YOUTUBE_WATCH_TIME = 1; + BASE_URL = "https://${d.extUrl}"; + CREATE_ADMIN = 1; + WEBAUTHN = 1; + WORKER_POOL_SIZE = 5; + }; + adminCredentialsFile = config.age.secrets.miniflux-admin.path; + }; + users.users.miniflux.isSystemUser = true; + users.users.miniflux.group = "miniflux"; + users.groups.miniflux = {}; + age.secrets = { + miniflux-admin = { + file = ./secrets/miniflux-admin.age; + owner = "miniflux"; + group = "miniflux"; + }; + }; +} diff --git a/systems/x86_64-linux/marvin/services/secrets/miniflux-admin.age b/systems/x86_64-linux/marvin/services/secrets/miniflux-admin.age new file mode 100644 index 0000000000000000000000000000000000000000..01b7af612f0cb4c79f0f627b142e989d30d6e658 GIT binary patch literal 1203 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCU7EOe^ybX0K7vM@A` zEH%vy56w0&_V%p|&rJ*t%_>XNHY!WX@{bDDc8Mr23QDZZ_2e=z_BM7b4mZy!$uA7m zPKhiq3w6=X%`|s&a*i}~Ps=e*x9|(BEXoQlPlwr7RGg@g=9ZWl;>Z;i61>vol9f_qP+4W>8&K*Q z7!=4A;u=-#ZINu0lak`>pX_VuZdT!3o|PF{8tiHs;bQ6JV&G9x>7VOuSx}nqoKjI# zl^K=j5f)Ic9iEd}mJw*d6=81f73ybXp&j9AoLdm&5?ZD2=a%G{VO)|I;-T;5Z|EBo zWM1gxQsEw+TICyRQKp@zZ({7_TV&}S?w)57%#~OXkZ$N$P+4H?mJ<*XY#E|oU{K-i zU8HYVRqStRXc8O|91xTjnwhMf7@As<>RsaFs-F^OckbLZ1141=H;TFlj@XL65*Y166)z$5f!eTT9Q^3 z?CQhiWNDUIo?4XaWoTlO=bY>07UZ82=pB`B;2oA{;p&zg;hG#=Tu|tr9}t=A<5TAE zT#)E)T!WQPoLo?tY+4=|5E9^= z5gJvVTAq<*WM~kSn_m@NkfQBno@qCZ>jHTS?FJ3nw?&d6BcF|S?Ft_ZR+8i=i%W~=28(>m6}s-k?fY}lVTW96liW- zm>j@mTyB`>s2!#qX__AuQk)nRY#x=N9hj1ym=Tp7RFD(l>mBA%k>OHS;aKXMQEK6n zmsp+=UKp9=m7biRm01wZWfpE(RpOZ+mX_?AVrCXn5}xntET-%=^gB>pHb@V zpJx*3<(laTOUJNWQ(lmp;^C;E?GsW`Y8sMM;hGm-9^vW}S&|%BkRMbM6_H=*;im6e znQmkmZfKBKT5iFW?^sn9k!Mio<6>?Y=u=tcYZ>O28yOtvROTNQ?446!;9?Z%?rGtn z9pnqLP1o3}LN~oAHL*BVp;FVmT*1MyM8!xU*&|9J*xkq8o-4~BJw2%?z~4PgKh(^~ z)jLGH)IHlTF*ndW!aLnLH8m&Sr!ceJ(>>WG+%VYKC(tJ=t;)PKn@d+$S0O6NB(ET? zBv;$4Brqc<&@d^rA~MRzDKW()-zhTFC)l{aJjpbX~09(SD AX#fBK literal 0 HcmV?d00001 diff --git a/systems/x86_64-linux/marvin/services/secrets/secrets.nix b/systems/x86_64-linux/marvin/services/secrets/secrets.nix index 8eac0630..d364bef6 100644 --- a/systems/x86_64-linux/marvin/services/secrets/secrets.nix +++ b/systems/x86_64-linux/marvin/services/secrets/secrets.nix @@ -29,6 +29,7 @@ in "iceshrimp-secret-config.age".publicKeys = marvinDefault; "iceshrimp-db-password.age".publicKeys = marvinDefault; "minio-root.age".publicKeys = marvinDefault; + "miniflux-admin.age".publicKeys = marvinDefault; "../nextcloud/nextcloud-admin-pw.age".publicKeys = marvinDefault; "nix-serve-priv.age".publicKeys = marvinDefault; "planka-env.age".publicKeys = marvinDefault;