caddy: add block_non_private_ips snippet

blocks ips not in tailnet or in local network from accessing services
using `important block_non_private_ips` in their caddy config
This commit is contained in:
Nico 2025-08-04 22:13:59 +10:00
parent a37e71055f
commit 7537a1e5b6
Signed by: nico
SSH key fingerprint: SHA256:XuacYOrGqRxC3jVFjfLROn1CSvLz85Dec6N7O9Gwu/0
8 changed files with 18 additions and 0 deletions

View file

@ -22,6 +22,12 @@
services.caddy = { services.caddy = {
enable = true; enable = true;
extraConfig = ''
(block_non_private_ips) {
@non_private_ips not remote_ip 100.64.0.0/10 fd7a:115c:a1e0::/48 private_ranges
abort @non_private_ips
}
'';
}; };
security.acme = { security.acme = {

View file

@ -34,6 +34,7 @@
useACMEHost = config.homelab.domain; useACMEHost = config.homelab.domain;
extraConfig = '' extraConfig = ''
reverse_proxy http://localhost:${toString config.services.forgejo.settings.server.HTTP_PORT} reverse_proxy http://localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}
import block_non_private_ips
''; '';
}; };
} }

View file

@ -107,6 +107,7 @@
useACMEHost = config.homelab.domain; useACMEHost = config.homelab.domain;
extraConfig = '' extraConfig = ''
reverse_proxy http://localhost:8888 reverse_proxy http://localhost:8888
import block_non_private_ips
''; '';
}; };
} }

View file

@ -30,6 +30,7 @@
useACMEHost = config.homelab.domain; useACMEHost = config.homelab.domain;
extraConfig = '' extraConfig = ''
reverse_proxy http://localhost:8023 reverse_proxy http://localhost:8023
import block_non_private_ips
''; '';
}; };
} }

View file

@ -50,36 +50,42 @@
useACMEHost = config.homelab.domain; useACMEHost = config.homelab.domain;
extraConfig = '' extraConfig = ''
reverse_proxy http://localhost:7878 reverse_proxy http://localhost:7878
import block_non_private_ips
''; '';
}; };
services.caddy.virtualHosts."sonarr.${config.homelab.domain}" = { services.caddy.virtualHosts."sonarr.${config.homelab.domain}" = {
useACMEHost = config.homelab.domain; useACMEHost = config.homelab.domain;
extraConfig = '' extraConfig = ''
reverse_proxy http://localhost:8989 reverse_proxy http://localhost:8989
import block_non_private_ips
''; '';
}; };
services.caddy.virtualHosts."prowlarr.${config.homelab.domain}" = { services.caddy.virtualHosts."prowlarr.${config.homelab.domain}" = {
useACMEHost = config.homelab.domain; useACMEHost = config.homelab.domain;
extraConfig = '' extraConfig = ''
reverse_proxy http://localhost:9696 reverse_proxy http://localhost:9696
import block_non_private_ips
''; '';
}; };
services.caddy.virtualHosts."bazarr.${config.homelab.domain}" = { services.caddy.virtualHosts."bazarr.${config.homelab.domain}" = {
useACMEHost = config.homelab.domain; useACMEHost = config.homelab.domain;
extraConfig = '' extraConfig = ''
reverse_proxy http://localhost:6767 reverse_proxy http://localhost:6767
import block_non_private_ips
''; '';
}; };
services.caddy.virtualHosts."deluge.${config.homelab.domain}" = { services.caddy.virtualHosts."deluge.${config.homelab.domain}" = {
useACMEHost = config.homelab.domain; useACMEHost = config.homelab.domain;
extraConfig = '' extraConfig = ''
reverse_proxy http://localhost:8112 reverse_proxy http://localhost:8112
import block_non_private_ips
''; '';
}; };
services.caddy.virtualHosts."jellyseer.${config.homelab.domain}" = { services.caddy.virtualHosts."jellyseer.${config.homelab.domain}" = {
useACMEHost = config.homelab.domain; useACMEHost = config.homelab.domain;
extraConfig = '' extraConfig = ''
reverse_proxy http://localhost:5055 reverse_proxy http://localhost:5055
import block_non_private_ips
''; '';
}; };
} }

View file

@ -14,6 +14,7 @@
# useACMEHost = config.homelab.domain; # useACMEHost = config.homelab.domain;
extraConfig = '' extraConfig = ''
reverse_proxy http://localhost:8096 reverse_proxy http://localhost:8096
import block_non_private_ips
''; '';
}; };
} }

View file

@ -48,6 +48,7 @@
useACMEHost = config.homelab.domain; useACMEHost = config.homelab.domain;
extraConfig = '' extraConfig = ''
reverse_proxy http://localhost:8021 reverse_proxy http://localhost:8021
import block_non_private_ips
''; '';
}; };
} }

View file

@ -19,6 +19,7 @@
useACMEHost = config.homelab.domain; useACMEHost = config.homelab.domain;
extraConfig = '' extraConfig = ''
reverse_proxy http://localhost:8025 reverse_proxy http://localhost:8025
import block_non_private_ips
''; '';
}; };
} }