❄️ Dotfiles for our NixOS system configuration.

refactor(services:caddy): try trusted_proxies

Chloe A 780eccc4 f27c093a

Changed files
+20 -1
services
+18 -1
services/caddy/default.nix
···
services.caddy = {
enable = true;
package = pkgs.caddy.withPlugins {
-
plugins = [ "github.com/caddy-dns/bunny@v1.2.0" ];
+
plugins = [
+
"github.com/caddy-dns/bunny@v1.2.0"
+
"github.com/digilolnet/caddy-bunny-ip@v0.0.0-20250118080727-ef607b8e1644"
+
];
hash = "sha256-bwffi5sWq07DVoPQGgEIN1jnvQKL6c4tFfR9AT9ThD4=";
};
environmentFile = config.age.secrets.caddy.path;
globalConfig = ''
email chloe@sapphic.moe
+
servers {
+
trusted_proxies bunny {
+
interval 6h
+
timeout 25s
+
}
+
}
'';
extraConfig = ''
(tls_bunny) {
···
resolvers 9.9.9.9 149.112.112.112
}
}
+
(common) {
encode zstd gzip
+
}
+
+
(deny_non_bunny) {
+
@not_bunny not client_ip 127.0.0.1 ::1
+
handle @not_bunny {
+
abort
+
}
}
'';
logFormat = ''
+2
services/ntfy/default.nix
···
services.caddy.virtualHosts."notify.sappho.systems" = {
extraConfig = ''
import common
+
import tls_bunny
+
import deny_non_bunny
reverse_proxy http://127.0.0.1:7070 {
header_up X-Forwarded-Proto https