From c9eeb6c5fc8d7fe71f4c12a9dca38c62e3ea9295 Mon Sep 17 00:00:00 2001 From: William Date: Sun, 6 Jul 2025 16:59:19 -0300 Subject: [PATCH] enable and configrue webdav --- hosts/modules/alexandria/services.nix | 36 ++++++++++++++++++++++++--- secrets/secrets.nix | 1 + secrets/webdav.env.age | 15 +++++++++++ 3 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 secrets/webdav.env.age diff --git a/hosts/modules/alexandria/services.nix b/hosts/modules/alexandria/services.nix index e2e5533..e2d6cb4 100644 --- a/hosts/modules/alexandria/services.nix +++ b/hosts/modules/alexandria/services.nix @@ -6,6 +6,7 @@ let librespeed = "8000"; radicale = "8001"; vaultwarden = "8002"; + webdav = "8003"; }; in @@ -36,6 +37,7 @@ in "jellyfin.baduhai.dev".locations."/".proxyPass = "http://127.0.0.1:${ports.jellyfin}"; "pass.baduhai.dev".locations."/".proxyPass = "http://127.0.0.1:${ports.vaultwarden}"; "speedtest.baduhai.dev".locations."/".proxyPass = "http://127.0.0.1:${ports.librespeed}"; + "webdav.baduhai.dev".locations."/".proxyPass = "http://127.0.0.1:${ports.webdav}"; }; }; @@ -88,6 +90,25 @@ in ROCKET_PORT = "${ports.vaultwarden}"; }; }; + + webdav = { + enable = true; + settings = { + address = "127.0.0.1"; + port = lib.toInt ports.webdav; + scope = "/data/webdav"; + modify = true; + auth = true; + users = [ + { + username = "{env}USERNAME_1"; + password = "{env}PASSWORD_1"; + directory = "{env}USERNAME_1"; + } + ]; + }; + environmentFile = config.age.secrets."webdav.env".path; + }; }; virtualisation.oci-containers.containers."librespeed" = { @@ -115,10 +136,17 @@ in }; }; - age.secrets.cloudflare = { - file = ../../../secrets/cloudflare.age; - owner = "nginx"; - group = "nginx"; + age.secrets = { + cloudflare = { + file = ../../../secrets/cloudflare.age; + owner = "nginx"; + group = "nginx"; + }; + "webdav.env" = { + file = ../../../secrets/webdav.env.age; + owner = "webdav"; + group = "webdav"; + }; }; # TODO: remove when bug fix diff --git a/secrets/secrets.nix b/secrets/secrets.nix index e15c3fa..8ffe939 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -25,4 +25,5 @@ let in { "cloudflare.age".publicKeys = all-hosts; + "webdav.env.age".publicKeys = all-hosts; } diff --git a/secrets/webdav.env.age b/secrets/webdav.env.age new file mode 100644 index 0000000..790cbe8 --- /dev/null +++ b/secrets/webdav.env.age @@ -0,0 +1,15 @@ +age-encryption.org/v1 +-> ssh-ed25519 Kfdnog iYAk0YU1ekpdPEzhPKPBDeF2oM2XT6ZIqe/6xoJafSA +W0aPLLAsCUOIBqWtxzyZw5l4I72n1BFD/E9Oalz7lYg +-> ssh-ed25519 SP9f6A VzaqzMWrKJ5Iuj/A2EnBnEJNApQ0wx6ktNzhqMhxkx4 +0/qTjEcQXanCLODi8pGEYWR6JX2QZU2fHy5REIw0bA8 +-> ssh-ed25519 8YSAiw I+aTRniv+tTMrQQiTVONh4ziisdqGbE1Ntyy7zYFe3Y +tc4yyoNsPQum5lPc2/eKY6CXl+bYst9JqsXHJmt2RPo +-> ssh-ed25519 7cojTQ 96asBSxBQWOxMaKdvBUXCro5fqpeZnpWSXapjCmxqF8 +m0MBushdOMI9zp7R7VYzPibRXRfsSX9m3HTDaiv3oYQ +-> ssh-ed25519 J6tVTA uAW/2s8wHouV06Cf8XOl1MVVniZDU0STJDMyziG1x2E +BpwvevoU5w8m32KssiBUwuQXkvxl3LRjWN8u5dpDdS0 +-> ssh-ed25519 Kl5yTQ p6rLLWT7Ey5RhYl4xrFI5blBXtNPMHYj8OezuQEWPU8 +Ao9FmLXhWaCirDOCHM3pVZEdKy0lQs4aNkSj0gtjRvM +--- 6EArX870mq5cAeKEJZfqwVZJ1CLMG2Od7ndZYVOrpfc +v˲1׹sH]Ck+ )˚ZVKnM-, R&>W2