diff --git a/flake.nix b/flake.nix index fe54fe3..4aa13bb 100644 --- a/flake.nix +++ b/flake.nix @@ -121,6 +121,7 @@ ./hosts/AZLT124-L agenix.nixosModules.default inputs.home-manager-unstable.nixosModules.home-manager + m3ta-nixpkgs.nixosModules.default ]; }; }; diff --git a/hosts/AZ-CLD-1/services/default.nix b/hosts/AZ-CLD-1/services/default.nix index 8d219b8..39394dd 100644 --- a/hosts/AZ-CLD-1/services/default.nix +++ b/hosts/AZ-CLD-1/services/default.nix @@ -3,6 +3,7 @@ ./containers ./gitea.nix + ./it-tools.nix ./metabase.nix ./n8n.nix ./ntfy.nix diff --git a/hosts/AZ-CLD-1/services/it-tools.nix b/hosts/AZ-CLD-1/services/it-tools.nix new file mode 100644 index 0000000..7ee55f4 --- /dev/null +++ b/hosts/AZ-CLD-1/services/it-tools.nix @@ -0,0 +1,45 @@ +{ + config, + lib, + pkgs, + ... +}: let + serviceName = "it-tools"; + portUtils = import ../../../lib/port-utils.nix {inherit lib;}; + servicePort = portUtils.getPort serviceName "AZ-CLD-1"; +in { + services.nginx = { + enable = true; + virtualHosts.${serviceName} = { + listen = [ + { + addr = "127.0.0.1"; + port = servicePort; + } + ]; + locations."/" = { + root = "${pkgs.it-tools}/lib"; + index = "index.html"; + tryFiles = "$uri $uri/ /index.html"; + }; + }; + }; + + # Traefik configuration + services.traefik.dynamicConfigOptions.http = { + services.${serviceName}.loadBalancer.servers = [ + { + url = "http://localhost:${toString servicePort}/"; + } + ]; + + routers.${serviceName} = { + rule = "Host(`tools.az-gruppe.com`)"; + tls = { + certResolver = "ionos"; + }; + service = serviceName; + entrypoints = "websecure"; + }; + }; +} diff --git a/lib/ports.nix b/lib/ports.nix index b22e0e3..489efec 100644 --- a/lib/ports.nix +++ b/lib/ports.nix @@ -14,6 +14,7 @@ zammad = 3034; metabase = 3013; ntfy-sh = 3033; + it-tools = 3035; # Docker services (3100-3199 range) librechat = 3040; diff --git a/secrets/librechat-env-dev.age b/secrets/librechat-env-dev.age index 8aa9be8..238c3e4 100644 Binary files a/secrets/librechat-env-dev.age and b/secrets/librechat-env-dev.age differ