diff --git a/hosts/storage-2/configuration.nix b/hosts/storage-2/configuration.nix
index 899aeff..32bcac3 100644
--- a/hosts/storage-2/configuration.nix
+++ b/hosts/storage-2/configuration.nix
@@ -7,6 +7,7 @@
../../configuration/common
../../configuration/proxmox-vm
./mixcloud.nix
+ ./storage.nix
];
boot.loader.grub.enable = true;
diff --git a/hosts/storage-2/filemanager/index.html b/hosts/storage-2/filemanager/index.html
new file mode 100644
index 0000000..ce52a0b
--- /dev/null
+++ b/hosts/storage-2/filemanager/index.html
@@ -0,0 +1,321 @@
+
+
+
+
+
+ storage.clerie.de
+
+
+
+
+
+
+
+
+
+
+
diff --git a/hosts/storage-2/storage.nix b/hosts/storage-2/storage.nix
new file mode 100644
index 0000000..334cb9c
--- /dev/null
+++ b/hosts/storage-2/storage.nix
@@ -0,0 +1,38 @@
+{ ... }:
+
+{
+ services.nginx.virtualHosts = {
+ "storage.clerie.de" = {
+ enableACME = true;
+ forceSSL = true;
+
+ basicAuthFile = "/var/src/secrets/nginx/storage.htpasswd";
+
+ locations."= /" = {
+ alias = "${./filemanager}/";
+ extraConfig = ''
+ try_files index.html =404;
+ '';
+ };
+
+ locations."/_/" = {
+ alias = "/data/";
+ extraConfig = ''
+ autoindex on;
+ autoindex_format json;
+
+ client_body_temp_path /data;
+ dav_methods PUT DELETE MKCOL COPY MOVE;
+ create_full_put_path on;
+ dav_access group:rw all:r;
+ client_max_body_size 1G;
+ '';
+ };
+ };
+ };
+
+ systemd.services.nginx.serviceConfig = {
+ ReadWritePaths = "/data";
+ };
+}
+