aboutsummaryrefslogtreecommitdiff
path: root/modules/common/adguard/default.nix
diff options
context:
space:
mode:
authoraethrvmn <me@aethrvmn.gr>2025-08-31 14:21:34 +0000
committeraethrvmn <me@aethrvmn.gr>2025-08-31 14:21:34 +0000
commitbfd970a07c231b5781871c16cb4612eb4c6b8fd4 (patch)
tree50a4ac5138d1f438e4d5bad3a3dd880a0784cd3e /modules/common/adguard/default.nix
parentadded flake (diff)
imported system/home-manager config
Diffstat (limited to '')
-rw-r--r--modules/common/adguard/default.nix106
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"
+ # ];
+ # };
+}
Directive (EU) 2019/790, Article 4(3); all rights regarding Text and Data Mining (TDM) are reserved.