diff --git a/flake.nix b/flake.nix index 2607372..6efd52a 100644 --- a/flake.nix +++ b/flake.nix @@ -34,6 +34,10 @@ url = "github:abenz1267/walker"; inputs.nixpkgs.follows = "nixpkgs"; }; + eleakxir = { + url = "github:anotherhadi/eleakxir-temp"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = inputs @ {nixpkgs, ...}: { @@ -61,6 +65,7 @@ inputs.sops-nix.nixosModules.sops inputs.nixarr.nixosModules.default inputs.search-nixos-api.nixosModules.search-nixos-api + inputs.eleakxir.nixosModules.eleakxir-backend ./hosts/server/configuration.nix ]; }; diff --git a/hosts/server/home.nix b/hosts/server/home.nix index 307bf37..82af860 100644 --- a/hosts/server/home.nix +++ b/hosts/server/home.nix @@ -31,6 +31,7 @@ just pnpm wireguard-tools + duckdb # Utils zip diff --git a/server-modules/eleakxir.nix b/server-modules/eleakxir.nix new file mode 100644 index 0000000..d858d2b --- /dev/null +++ b/server-modules/eleakxir.nix @@ -0,0 +1,37 @@ +{ + inputs, + config, + pkgs, + ... +}: { + services.eleakxir-backend = { + enable = true; + port = 8080; + leakPath = "/mnt/ssd/leaks"; + }; + + services.nginx = { + virtualHosts."eleakxir.hadi.diy" = { + useACMEHost = "hadi.diy"; + forceSSL = true; + + root = "${ + inputs.socme.packages.${pkgs.system}.eleakxir-frontend + }/eleakxir-frontend"; + + locations."/api/" = { + proxyPass = "http://127.0.0.1:${toString config.services.eleakxir-backend.port}/"; + recommendedProxySettings = true; + extraConfig = '' + rewrite ^/api/(.*) /$1 break; + ''; + }; + + locations."/" = { + extraConfig = '' + try_files $uri $uri/ /index.html =404; # Fallback vers index.html pour les routes SPA + ''; + }; + }; + }; +}