aboutsummaryrefslogtreecommitdiff
path: root/nixos/hosts
diff options
context:
space:
mode:
authorMartin Fischer <martin@push-f.com>2025-09-18 06:00:38 +0200
committerMartin Fischer <martin@push-f.com>2025-09-18 10:48:23 +0200
commitb5840e628e60d1614e6e4e04b3ca30f3c7bfacd8 (patch)
tree2bb0d423338166a2e259be85b910d5c6760569fa /nixos/hosts
parent70b3abe0d6a5e7cf46a8109dce05edcaca892f79 (diff)
feat: generate web index for private web UIs
Diffstat (limited to 'nixos/hosts')
-rw-r--r--nixos/hosts/ev/default.nix8
-rw-r--r--nixos/hosts/ev/ports.nix12
-rw-r--r--nixos/hosts/tente/default.nix2
-rw-r--r--nixos/hosts/tente/ports.nix10
4 files changed, 29 insertions, 3 deletions
diff --git a/nixos/hosts/ev/default.nix b/nixos/hosts/ev/default.nix
index b0c5ff3..74518f0 100644
--- a/nixos/hosts/ev/default.nix
+++ b/nixos/hosts/ev/default.nix
@@ -2,10 +2,11 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
-{ config, pkgs, ... }:
+{ config, lib, pkgs, ... }:
let
ports = import ./ports.nix;
+ helpers = import <top/helpers.nix> { inherit config lib pkgs; };
in
{
imports = [
@@ -89,6 +90,11 @@ in
];
networking.firewall.allowedUDPPorts = [];
+ services.nginx = {
+ enable = true;
+ virtualHosts."ev.tailnet" = helpers.serviceIndexHost "ev.tailnet" ports.webUis;
+ };
+
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. It‘s perfectly fine and recommended to leave
diff --git a/nixos/hosts/ev/ports.nix b/nixos/hosts/ev/ports.nix
index ff5241c..cd41d1b 100644
--- a/nixos/hosts/ev/ports.nix
+++ b/nixos/hosts/ev/ports.nix
@@ -1,4 +1,4 @@
-{
+rec {
grafanaAlloy = 3001;
grafanaLoki = 3030;
hosehawk = 4000;
@@ -6,4 +6,14 @@
prometheusNodeExporter = 9002;
qbittorrent = 7777;
zigbee2mqtt = 8080;
+
+ webUis = {
+ inherit
+ grafanaAlloy
+ hosehawk
+ prometheus
+ qbittorrent
+ zigbee2mqtt
+ ;
+ };
}
diff --git a/nixos/hosts/tente/default.nix b/nixos/hosts/tente/default.nix
index 4d4a4f3..a54de6c 100644
--- a/nixos/hosts/tente/default.nix
+++ b/nixos/hosts/tente/default.nix
@@ -203,6 +203,8 @@ in
enable = true;
group = "www-data";
+ virtualHosts."tente.tailnet" = helpers.serviceIndexHost "tente.tailnet" ports.webUis;
+
appendHttpConfig = ''
# Close the connection for unknown Host headers.
# If we don't do this nginx serves some random virtualhost.
diff --git a/nixos/hosts/tente/ports.nix b/nixos/hosts/tente/ports.nix
index 3a2b2fe..133d0f7 100644
--- a/nixos/hosts/tente/ports.nix
+++ b/nixos/hosts/tente/ports.nix
@@ -1,4 +1,4 @@
-{
+rec {
grafana = 3000;
grafanaAlloy = 3001;
grafanaLoki = 3030;
@@ -8,4 +8,12 @@
prometheus = 9090;
prometheusNodeExporter = 9002;
prometheusSqlExporter = 9003;
+
+ webUis = {
+ inherit
+ grafana
+ grafanaAlloy
+ prometheus
+ ;
+ };
}