compress and etag

This commit is contained in:
nora 2024-08-05 22:43:46 +02:00
parent d2fb67d2e2
commit 4f88fa1d37
5 changed files with 102 additions and 6 deletions

View file

@ -1,4 +1,7 @@
{ pkgs, config, lib, name, website, slides, blog, ... }: {
{ pkgs, nixpkgs-unstable, config, lib, name, website, slides, blog, ... }:
let caddy = nixpkgs-unstable.caddy; in
{
networking.firewall.allowedTCPPorts = [
80
443
@ -6,6 +9,7 @@
services.caddy = {
enable = true;
package = caddy;
configFile = pkgs.writeTextFile {
name = "Caddyfile";
text = (
@ -22,8 +26,15 @@
${config.networking.hostName}.infra.noratrieb.dev {
encode zstd gzip
header -Last-Modified
root * ${./debugging-page}
file_server
root * ${import ./caddy-static-prepare {
name = "debugging-page";
src = ./debugging-page;
inherit pkgs lib;
}}
file_server {
etag_file_extensions .sha256
precompressed zstd gzip
}
}
${
@ -32,15 +43,23 @@
noratrieb.dev {
encode zstd gzip
header -Last-Modified
root * ${website {inherit pkgs slides blog;}}
file_server
root * ${import ./caddy-static-prepare {
name = "website";
src = website { inherit pkgs slides blog; };
inherit pkgs lib;
}}
file_server {
etag_file_extensions .sha256
precompressed zstd gzip
}
}
'' else ""
}
''
);
checkPhase = ''
${lib.getExe pkgs.caddy} validate --adapter=caddyfile --config=$out
${lib.getExe caddy} --version
${lib.getExe caddy} validate --adapter=caddyfile --config=$out
'';
};
};