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 0000000..5805654 Binary files /dev/null and b/secrets/miniflux.age differ 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; }