diff options
-rw-r--r-- | flake.nix | 11 | ||||
-rw-r--r-- | usecases/server/miniflux.nix | 29 |
2 files changed, 39 insertions, 1 deletions
@@ -79,6 +79,7 @@ | |||
79 | gotifyServer = (import ./usecases/server/gotify-server.nix inputs); | 79 | gotifyServer = (import ./usecases/server/gotify-server.nix inputs); |
80 | hydraServer = (import ./usecases/server/hydra-server.nix inputs); | 80 | hydraServer = (import ./usecases/server/hydra-server.nix inputs); |
81 | jellyfin = (import ./usecases/server/jellyfin.nix inputs); | 81 | jellyfin = (import ./usecases/server/jellyfin.nix inputs); |
82 | miniflux = (import ./usecases/server/miniflux.nix inputs); | ||
82 | monitoringServer = (import ./usecases/server/monitoring-server.nix inputs); | 83 | monitoringServer = (import ./usecases/server/monitoring-server.nix inputs); |
83 | monitoringTarget = (import ./usecases/server/monitoring-target.nix inputs); | 84 | monitoringTarget = (import ./usecases/server/monitoring-target.nix inputs); |
84 | nginx = (import ./usecases/server/nginx.nix inputs); | 85 | nginx = (import ./usecases/server/nginx.nix inputs); |
@@ -180,6 +181,7 @@ | |||
180 | self.nixosModules.usecases.server.gotifyServer | 181 | self.nixosModules.usecases.server.gotifyServer |
181 | self.nixosModules.usecases.server.hydraServer | 182 | self.nixosModules.usecases.server.hydraServer |
182 | self.nixosModules.usecases.server.jellyfin | 183 | self.nixosModules.usecases.server.jellyfin |
184 | self.nixosModules.usecases.server.miniflux | ||
183 | self.nixosModules.usecases.server.monitoringServer | 185 | self.nixosModules.usecases.server.monitoringServer |
184 | self.nixosModules.usecases.server.nginx | 186 | self.nixosModules.usecases.server.nginx |
185 | self.nixosModules.usecases.server.radicale | 187 | self.nixosModules.usecases.server.radicale |
@@ -200,11 +202,18 @@ | |||
200 | hydraURL = "localhost:3000"; | 202 | hydraURL = "localhost:3000"; |
201 | notificationSender = "hydra@localhost"; | 203 | notificationSender = "hydra@localhost"; |
202 | secretKeyLocation = builtins.toFile | 204 | secretKeyLocation = builtins.toFile |
203 | "secret-key" | 205 | "store-secret-key" |
204 | "testServer:0d5jJjOxIoe6sTr2YKWkQxsM3ZcW+9GAk52yYNVxfYBUxS2nUfzfQk5Jo0OwHnT95bTLXCVNQETGV4m6KHsVCA=="; | 206 | "testServer:0d5jJjOxIoe6sTr2YKWkQxsM3ZcW+9GAk52yYNVxfYBUxS2nUfzfQk5Jo0OwHnT95bTLXCVNQETGV4m6KHsVCA=="; |
205 | }; | 207 | }; |
206 | 208 | ||
207 | services.jellyfin.allowedPaths = [ ]; | 209 | services.jellyfin.allowedPaths = [ ]; |
210 | |||
211 | services.miniflux.adminCredentialsFile = builtins.toFile | ||
212 | "miniflux-secret.env" | ||
213 | '' | ||
214 | ADMIN_USERNAME=admin | ||
215 | ADMIN_PASSWORD='hello world' | ||
216 | ''; | ||
208 | }) | 217 | }) |
209 | ]; | 218 | ]; |
210 | }; | 219 | }; |
diff --git a/usecases/server/miniflux.nix b/usecases/server/miniflux.nix new file mode 100644 index 0000000..5e00320 --- /dev/null +++ b/usecases/server/miniflux.nix | |||
@@ -0,0 +1,29 @@ | |||
1 | inputs: | ||
2 | |||
3 | { config, lib, ... }: | ||
4 | |||
5 | let | ||
6 | minifluxPort = 8083; | ||
7 | in | ||
8 | { | ||
9 | services.miniflux = { | ||
10 | enable = true; | ||
11 | config = { | ||
12 | LISTEN_ADDR = "[${config.topology.mainVpn.currentNodeIP}]:${toString minifluxPort}"; | ||
13 | METRICS_COLLECTOR = "1"; | ||
14 | METRICS_ALLOWED_NETWORKS = config.topology.mainVpn.subnet; | ||
15 | }; | ||
16 | }; | ||
17 | |||
18 | assertions = [ | ||
19 | { | ||
20 | assertion = config.services.miniflux.enable -> | ||
21 | config.services.miniflux.adminCredentialsFile != null; | ||
22 | message = "Please provide non-default credentials for Miniflux"; | ||
23 | } | ||
24 | ]; | ||
25 | |||
26 | networking.firewall.interfaces.${config.topology.mainVpn.interfaceName}.allowedTCPPorts = [ | ||
27 | minifluxPort | ||
28 | ]; | ||
29 | } | ||