services: initial miniflux module
This commit is contained in:
58
services/miniflux.nix
Normal file
58
services/miniflux.nix
Normal 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}";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user