services: initial miniflux module

This commit is contained in:
2025-11-10 23:05:11 -08:00
parent 6c7bb2b2a9
commit 0f73e2b575
2 changed files with 60 additions and 0 deletions

58
services/miniflux.nix Normal file
View File

@@ -0,0 +1,58 @@
# Module: services/miniflux
# Enables a miniflux server
{
config,
lib,
pkgs,
pkgsUnstable,
inputs,
...
}:
with lib;
let
cfg = config.miniflux;
minifluxHost = "127.0.0.1";
minifluxHttpPort = "8223";
in
{
options.miniflux = {
enable = mkEnableOption "Enables miniflux module";
environmentFile = mkOption {
type = types.path;
default = null;
description = "Path of environment file to pass to miniflux";
example = "../secrets/miniflux.env";
};
};
config = mkIf cfg.enable {
services.miniflux = mkIf cfg.enable {
enable = true;
package = pkgsUnstable.miniflux;
adminCredentialsFile = cfg.environmentFile;
config = {
CREATE_ADMIN = true;
LISTEN_ADDR = "${minifluxHost}:${minifluxHttpPort}";
};
};
services.traefik.dynamicConfigOptions = {
http.routers.miniflux = {
entrypoints = [ "websecure" ];
rule = "Host(`miniflux.its-et.me`)";
tls.certresolver = "production";
service = "miniflux";
};
http.services.miniflux.loadbalancer.servers = [
{
url = "http://${minifluxHost}:${minifluxHttpPort}";
}
];
};
};
}

View File

@@ -16,6 +16,7 @@
./docker.nix
./healthchecks.nix
./loki.nix
./miniflux.nix
./ntfy.nix
./prometheus.nix
./radicale.nix
@@ -31,6 +32,7 @@
docker.enable = lib.mkDefault false;
healthchecks.enable = lib.mkDefault false;
loki.enable = lib.mkDefault false;
miniflux.enable = lib.mkDefault false;
ntfy.enable = lib.mkDefault false;
prometheus.enable = lib.mkDefault false;
radicale.enable = lib.mkDefault false;