summaryrefslogtreecommitdiffstats
path: root/usecases/server/miniflux.nix
blob: 5e00320451261b2136815c52b588e7525dd5ab3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
inputs:

{ config, lib, ... }:

let
  minifluxPort = 8083;
in
{
  services.miniflux = {
    enable = true;
    config = {
      LISTEN_ADDR = "[${config.topology.mainVpn.currentNodeIP}]:${toString minifluxPort}";
      METRICS_COLLECTOR = "1";
      METRICS_ALLOWED_NETWORKS = config.topology.mainVpn.subnet;
    };
  };

  assertions = [
    {
      assertion = config.services.miniflux.enable ->
        config.services.miniflux.adminCredentialsFile != null;
      message = "Please provide non-default credentials for Miniflux";
    }
  ];

  networking.firewall.interfaces.${config.topology.mainVpn.interfaceName}.allowedTCPPorts = [
    minifluxPort
  ];
}