Commit 0ab0e1d

HPCesia <me@hpcesia.com>
2026-10-18 12:55:29
caddy: add max size option
1 parent 76d77c3
Changed files (2)
modules
services
modules/services/caddy/_lib.nix
@@ -26,6 +26,7 @@
       else null;
     stripPath = conf.stripPath or false;
     upstream = conf.upstream or null;
+    maxSize = conf.maxSize or null;
   };
 
   proxyLine = config: e:
@@ -38,7 +39,16 @@
         else "";
     in "reverse_proxy http://${e.resolution.address}:${toString e.port}${upstream}";
 
-  entryLines = config: e: [(proxyLine config e)];
+  maxSizeLines = e:
+    if e.maxSize == null
+    then []
+    else [
+      "request_body {"
+      "  max_size ${e.maxSize}"
+      "}"
+    ];
+
+  entryLines = config: e: maxSizeLines e ++ [(proxyLine config e)];
 
   entryBlock = config: e: let
     lines = entryLines config e;
modules/services/caddy/quirks.nix
@@ -16,6 +16,7 @@ in {
         stripPath = false; # Whether to strip path prefix ("/foo/bar")
         upstream = "/"; Path to reverse proxy from
         prefer = "direct"; # Connection policy override: null (host default), "direct" or "tailscale"
+        maxSize = "16MiB"; # Set request_body.max_size in Caddyfile
       }
   '';