diff options
Diffstat (limited to 'modules/common/adguard/default.nix')
| -rw-r--r-- | modules/common/adguard/default.nix | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/modules/common/adguard/default.nix b/modules/common/adguard/default.nix new file mode 100644 index 0000000..9929bc1 --- /dev/null +++ b/modules/common/adguard/default.nix @@ -0,0 +1,106 @@ +{ config, lib, ... }: +{ + services = { + adguardhome = { + enable = false; + openFirewall = false; + mutableSettings = false; + + settings = { + http = { + address = "127.0.0.1:3000"; + }; + + dns = { + bind_hosts = [ "10.0.0.5" "127.0.0.1" ]; + port = 53; + + upstream_dns = [ + "9.9.9.9" + "149.112.112.112" + ]; + fallback_dns = [ + "1.1.1.1" + "1.0.0.1" + ]; + bootstrap_dns = [ + "9.9.9.9" + "149.112.112.112" + ]; + }; + + filtering = { + rewrites = [ + # jellyfin + { + domain = "media.internal"; + answer = "10.0.0.5"; + } + # immich + { + domain = "photos.internal"; + answer = "10.0.0.5"; + } + # calibre-web + { + domain = "library.internal"; + answer = "10.0.0.5"; + } + # searxng + { + domain = "search.internal"; + answer = "10.0.0.5"; + } + # ollama api + { + domain = "ollama.internal"; + answer = "10.0.0.5"; + } + # open-webui + { + domain = "chat.internal"; + answer = "10.0.0.5"; + } + # forgejo + { + domain = "forge.internal"; + answer = "10.0.0.5"; + } + # cgit + { + domain = "code.internal"; + answer = "10.0.0.5"; + } + # adguard + { + domain = "dns.internal"; + answer = "10.0.0.5"; + } + # grafana + { + domain = "monitor.internal"; + answer = "10.0.0.5"; + } + ]; + }; + }; + }; + + nginx.virtualHosts = { + "dns.internal" = { + locations."/" = { + proxyPass = "http://127.0.0.1:3000"; + proxyWebsockets = true; + }; + }; + }; + }; + + # networking = { + # nameservers = [ + # "9.9.9.9" + # "127.0.0.1" + # "10.0.0.5" + # ]; + # }; +} |
