fix(caddy): switch dns provider from hetzner to cloudflare across all services

This commit is contained in:
uttarayan21
2025-11-27 22:17:31 +05:30
parent 9542689024
commit e53c1d2f25
16 changed files with 53 additions and 4845 deletions

View File

@@ -4,10 +4,10 @@
...
}: {
sops = {
secrets."hetzner/api_key".owner = config.services.caddy.user;
secrets."cloudflare/api_key".owner = config.services.caddy.user;
templates = {
"HETZNER_API_KEY.env".content = ''
HETZNER_API_KEY=${config.sops.placeholder."hetzner/api_key"}
"CLOUDFLARE_API_KEY.env".content = ''
CLOUDFLARE_API_KEY=${config.sops.placeholder."cloudflare/api_key"}
'';
};
};
@@ -15,28 +15,22 @@
caddy = {
enable = true;
extraConfig = ''
(hetzner) {
(cloudflare) {
tls {
propagation_timeout -1
propagation_delay 120s
dns hetzner {env.HETZNER_API_KEY}
dns cloudflare {env.CLOUDFLARE_API_KEY}
resolvers 1.1.1.1
}
}
'';
package = pkgs.caddyWithHetzner;
# package = pkgs.caddy.withPlugins {
# plugins = ["github.com/caddy-dns/hetzner@v1.0.0"];
# # hash = "sha256-9ea0CfOHG7JhejB73HjfXQpnonn+ZRBqLNz1fFRkcDQ=";
# # hash = "sha256-9ea0CfOHG7JhejB73HjfXQpnonn+ZRBqLNz1fFRkcDQ="
# hash = "sha256-YUrprDZQL+cX3P8fVLKHouXTMG4rw3sCaQdGqiq37uA=";
# };
package = pkgs.caddyWithCloudflare;
};
};
systemd.services.caddy = {
after = ["sops-install-secrets.service"];
serviceConfig = {
EnvironmentFile = config.sops.templates."HETZNER_API_KEY.env".path;
EnvironmentFile = config.sops.templates."CLOUDFLARE_API_KEY.env".path;
};
};
}

View File

@@ -27,7 +27,7 @@
};
caddy = {
virtualHosts."llama.ryu.darksailor.dev".extraConfig = ''
import hetzner
import cloudflare
reverse_proxy localhost:${builtins.toString config.services.llama-cpp.port}
'';
};

View File

@@ -41,7 +41,7 @@
# };
caddy = {
# virtualHosts."llama.ryu.darksailor.dev".extraConfig = ''
# import hetzner
# import cloudflare
# forward_auth tako:5555 {
# uri /api/authz/forward-auth
# copy_headers Remote-User Remote-Groups Remote-Email Remote-Name
@@ -49,7 +49,7 @@
# reverse_proxy localhost:${builtins.toString config.services.open-webui.port}
# '';
virtualHosts."ollama.ryu.darksailor.dev".extraConfig = ''
import hetzner
import cloudflare
reverse_proxy localhost:${builtins.toString config.services.ollama.port}
'';
};

View File

@@ -5,14 +5,14 @@
./flaresolverr.nix
# # ./games
# ./gitea.nix
# ./homepage.nix
./homepage.nix
# # ./llama.nix
# # ./monitoring.nix
# # ./nextcloud.nix
# # ./paperless.nix
./prowlarr.nix
# ./resolved.nix
# ./searxng.nix
./searxng.nix
# ./headscale.nix
# ./shitpost.nix
./atuin.nix

View File

@@ -86,13 +86,13 @@
href = "https://cloud.darksailor.dev";
};
}
{
"Open WebUI" = {
icon = "open-webui.png";
description = "Open WebUI for self hosted llms";
href = "https://llama.darksailor.dev";
};
}
# {
# "Open WebUI" = {
# icon = "open-webui.png";
# description = "Open WebUI for self hosted llms";
# href = "https://llama.darksailor.dev";
# };
# }
{
"Immich" = {
icon = "immich.png";
@@ -159,7 +159,7 @@
};
caddy = {
virtualHosts."dashboard.darksailor.dev".extraConfig = ''
import auth
# import auth
reverse_proxy localhost:${builtins.toString config.services.homepage-dashboard.listenPort}
'';
};

View File

@@ -4,10 +4,10 @@
...
}: {
sops = {
secrets."hetzner/api_key".owner = config.services.caddy.user;
secrets."cloudflare/api_key".owner = config.services.caddy.user;
templates = {
"HETZNER_API_KEY.env".content = ''
HETZNER_API_KEY=${config.sops.placeholder."hetzner/api_key"}
"CLOUDFLARE_API_KEY.env".content = ''
CLOUDFLARE_API_KEY=${config.sops.placeholder."cloudflare/api_key"}
'';
};
};
@@ -15,11 +15,11 @@
caddy = {
enable = true;
extraConfig = ''
(hetzner) {
(cloudflare) {
tls {
propagation_timeout -1
propagation_delay 120s
dns hetzner {env.HETZNER_API_KEY}
dns cloudflare {env.CLOUDFLARE_API_KEY}
resolvers 1.1.1.1
}
}
@@ -31,17 +31,13 @@
}
}
'';
package = pkgs.caddy.withPlugins {
plugins = ["github.com/caddy-dns/hetzner@v1.0.0"];
hash = "sha256-Iwsu3s1qOwavcmmnd1w4GVeCkU1HhlWAJXMuc5NOc24=";
};
# package = pkgs.caddyWithHetzner;
package = pkgs.caddyWithCloudflare;
};
};
systemd.services.caddy = {
after = ["sops-install-secrets.service"];
serviceConfig = {
EnvironmentFile = config.sops.templates."HETZNER_API_KEY.env".path;
EnvironmentFile = config.sops.templates."CLOUDFLARE_API_KEY.env".path;
};
};
}

View File

@@ -7,7 +7,7 @@
};
caddy = {
virtualHosts."deluge.tsuba.darksailor.dev".extraConfig = ''
import hetzner
import cloudflare
reverse_proxy localhost:8112
'';
};

View File

@@ -36,7 +36,7 @@
services.caddy = {
virtualHosts."home.darksailor.dev".extraConfig = ''
import hetzner
import cloudflare
reverse_proxy localhost:8123
'';
};

View File

@@ -33,15 +33,15 @@
# };
caddy = {
# virtualHosts."jellyseerr.tsuba.darksailor.dev".extraConfig = ''
# import hetzner
# import cloudflare
# reverse_proxy localhost:${builtins.toString config.services.jellyseerr.port}
# '';
virtualHosts."jellyfin.tsuba.darksailor.dev".extraConfig = ''
import hetzner
import cloudflare
reverse_proxy localhost:8096
'';
virtualHosts."media.darksailor.dev".extraConfig = ''
import hetzner
import cloudflare
reverse_proxy localhost:8096
'';
};

View File

@@ -6,7 +6,7 @@
};
caddy = {
virtualHosts."prowlarr.tsuba.darksailor.dev".extraConfig = ''
import hetzner
import cloudflare
reverse_proxy localhost:9696
'';
};

View File

@@ -37,27 +37,27 @@
};
caddy.virtualHosts = {
"sonarr.tsuba.darksailor.dev".extraConfig = ''
import hetzner
import cloudflare
import auth
reverse_proxy localhost:${builtins.toString config.services.sonarr.settings.server.port}
'';
"radarr.tsuba.darksailor.dev".extraConfig = ''
import hetzner
import cloudflare
import auth
reverse_proxy localhost:${builtins.toString config.services.radarr.settings.server.port}
'';
"lidarr.tsuba.darksailor.dev".extraConfig = ''
import hetzner
import cloudflare
import auth
reverse_proxy localhost:${builtins.toString config.services.lidarr.settings.server.port}
'';
"bazarr.tsuba.darksailor.dev".extraConfig = ''
import hetzner
import cloudflare
import auth
reverse_proxy localhost:${builtins.toString config.services.bazarr.listenPort}
'';
"prowlarr.tsuba.darksailor.dev".extraConfig = ''
import hetzner
import cloudflare
import auth
reverse_proxy tako.darksailor.dev:9696
'';