feat: deploy prowlarr in remote machine

but reverse proxy it from the local machine over tailscale
This commit is contained in:
uttarayan21
2025-07-15 03:29:19 +05:30
parent e1bb419c66
commit 1bd0191b99
11 changed files with 94 additions and 15 deletions

View File

@@ -11,6 +11,7 @@
./nextcloud.nix ./nextcloud.nix
./tailscale.nix ./tailscale.nix
./zerotier.nix ./zerotier.nix
./prowlarr.nix
# ./home-assistant.nix # ./home-assistant.nix
# ./jellyfin.nix # ./jellyfin.nix

View File

@@ -0,0 +1,10 @@
{...}: {
services = {
prowlarr = {
enable = true;
};
flaresolverr = {
enable = true;
};
};
}

View File

@@ -118,13 +118,6 @@
users.groups.media = {}; users.groups.media = {};
services = { services = {
resolved = {
enable = true;
dnssec = "true";
domains = ["~."];
fallbackDns = ["1.1.1.1#one.one.one.one" "1.0.0.1#one.one.one.one"];
dnsovertls = "true";
};
devmon.enable = true; devmon.enable = true;
gvfs.enable = true; gvfs.enable = true;
udisks2.enable = true; udisks2.enable = true;

View File

@@ -9,6 +9,8 @@
./mullvad.nix ./mullvad.nix
./openrgb.nix ./openrgb.nix
./command-runner.nix ./command-runner.nix
./resolved.nix
# ./dnscrypt.nix
]; ];
services = { services = {
# hardware.openrgb.enable = true; # hardware.openrgb.enable = true;

View File

@@ -0,0 +1,30 @@
{config, ...}: {
networking = {
search = ["lemur-newton.ts.net"];
dhcpcd.extraConfig = "nohook resolv.conf";
networkmanager.dns = "none";
};
services.resolved.enable = false;
services.dnscrypt-proxy2 = {
enable = true;
# Settings reference:
# https://github.com/DNSCrypt/dnscrypt-proxy/blob/master/dnscrypt-proxy/example-dnscrypt-proxy.toml
settings = {
ipv6_servers = true;
require_dnssec = true;
# Add this to test if dnscrypt-proxy is actually used to resolve DNS requests
# query_log.file = "/var/log/dnscrypt-proxy/query.log";
sources.public-resolvers = {
urls = [
"https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md"
"https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md"
];
cache_file = "/var/cache/dnscrypt-proxy/public-resolvers.md";
minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3";
};
# You can choose a specific set of servers from https://github.com/DNSCrypt/dnscrypt-resolvers/blob/master/v3/public-resolvers.md
server_names = ["cloudflare-security"];
};
};
}

View File

@@ -0,0 +1,9 @@
{...}: {
services.resolved = {
enable = true;
dnssec = "true";
domains = ["~." "lemur-newton.ts.net"];
fallbackDns = ["1.1.1.1#one.one.one.one" "1.0.0.1#one.one.one.one"];
dnsovertls = "true";
};
}

View File

@@ -5,10 +5,9 @@
./jellyfin.nix ./jellyfin.nix
./caddy.nix ./caddy.nix
./servarr.nix ./servarr.nix
# ./sonarr.nix
# ./radarr.nix
# ./prowlarr.nix
./deluge.nix ./deluge.nix
./homeassistant.nix ./homeassistant.nix
# ./dnscrypt.nix
./resolved.nix
]; ];
} }

View File

@@ -3,6 +3,7 @@
deluge = { deluge = {
enable = true; enable = true;
web.enable = true; web.enable = true;
group = "media";
}; };
caddy = { caddy = {
virtualHosts."deluge.tsuba.darksailor.dev".extraConfig = '' virtualHosts."deluge.tsuba.darksailor.dev".extraConfig = ''

View File

@@ -0,0 +1,25 @@
{config, ...}: {
networking = {
dhcpcd.extraConfig = "nohook resolv.conf";
networkmanager.dns = "none";
};
services.resolved.enable = false;
services.dnscrypt-proxy2 = {
enable = true;
settings = {
ipv6_servers = true;
require_dnssec = true;
sources.public-resolvers = {
urls = [
"https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md"
"https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md"
];
cache_file = "/var/cache/dnscrypt-proxy/public-resolvers.md";
minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3";
};
# You can choose a specific set of servers from https://github.com/DNSCrypt/dnscrypt-resolvers/blob/master/v3/public-resolvers.md
server_names = ["cloudflare-security"];
};
};
}

View File

@@ -0,0 +1,9 @@
{...}: {
services.resolved = {
enable = true;
dnssec = "true";
domains = ["~." "lemur-newton.ts.net"];
fallbackDns = ["1.1.1.1#one.one.one.one" "1.0.0.1#one.one.one.one"];
dnsovertls = "true";
};
}

View File

@@ -22,10 +22,10 @@ in {
package = unstablePkgs.radarr; package = unstablePkgs.radarr;
group = "media"; group = "media";
}; };
prowlarr = { # prowlarr = {
enable = true; # enable = true;
package = unstablePkgs.prowlarr; # package = unstablePkgs.prowlarr;
}; # };
caddy.virtualHosts = { caddy.virtualHosts = {
"sonarr.tsuba.darksailor.dev".extraConfig = '' "sonarr.tsuba.darksailor.dev".extraConfig = ''
import hetzner import hetzner
@@ -37,7 +37,7 @@ in {
''; '';
"prowlarr.tsuba.darksailor.dev".extraConfig = '' "prowlarr.tsuba.darksailor.dev".extraConfig = ''
import hetzner import hetzner
reverse_proxy localhost:${builtins.toString config.services.prowlarr.settings.server.port} reverse_proxy mirai.darksailor.dev:9696
''; '';
}; };
}; };