fix(caddy): switch dns provider from hetzner to cloudflare across all services
This commit is contained in:
@@ -4,31 +4,31 @@
|
||||
...
|
||||
}: {
|
||||
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"}
|
||||
'';
|
||||
};
|
||||
};
|
||||
services = {
|
||||
caddy = {
|
||||
enable = true;
|
||||
environmentFile = config.sops.templates."HETZNER_API_KEY.env".path;
|
||||
environmentFile = config.sops.templates."CLOUDFLARE_API_KEY.env".path;
|
||||
globalConfig = ''
|
||||
debug
|
||||
'';
|
||||
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.caddyWithCloudflare;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{...}: {
|
||||
services = {
|
||||
caddy.virtualHosts."lmstudio.shiro.darksailor.dev" = ''
|
||||
import hetzner
|
||||
import cloudflare
|
||||
reverse_proxy localhost:1234
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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}
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -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}
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
};
|
||||
caddy = {
|
||||
virtualHosts."deluge.tsuba.darksailor.dev".extraConfig = ''
|
||||
import hetzner
|
||||
import cloudflare
|
||||
reverse_proxy localhost:8112
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
services.caddy = {
|
||||
virtualHosts."home.darksailor.dev".extraConfig = ''
|
||||
import hetzner
|
||||
import cloudflare
|
||||
reverse_proxy localhost:8123
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
};
|
||||
caddy = {
|
||||
virtualHosts."prowlarr.tsuba.darksailor.dev".extraConfig = ''
|
||||
import hetzner
|
||||
import cloudflare
|
||||
reverse_proxy localhost:9696
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
|
||||
@@ -162,9 +162,9 @@
|
||||
cargoLock = {lockFile = "${src}/Cargo.lock";};
|
||||
};
|
||||
# alvr-master = inputs.alvr.packages.${prev.system}.default;
|
||||
caddyWithHetzner = final.pkgs.caddy.withPlugins {
|
||||
plugins = ["github.com/caddy-dns/hetzner@v1.0.0"];
|
||||
hash = "sha256-KNKmbZ65NwbEbseo5S3O0HzKseJkm4ZPugNOjMai02s=";
|
||||
caddyWithCloudflare = final.pkgs.caddy.withPlugins {
|
||||
plugins = ["github.com/caddy-dns/cloudflare@v0.2.2"];
|
||||
hash = "sha256-ea8PC/+SlPRdEVVF/I3c1CBprlVp1nrumKM5cMwJJ3U=";
|
||||
};
|
||||
nix-auth = inputs.nix-auth.packages.${prev.system}.nix-auth;
|
||||
kitty = inputs.nixpkgs-stable.legacyPackages.${prev.system}.kitty;
|
||||
|
||||
@@ -13,6 +13,8 @@ llama:
|
||||
api_key: ENC[AES256_GCM,data:wib+xbb25sTY2K9pacc1mU5eVSyQRurHiCMZyDVSqCAmG4yjkzEykvBevpThNbTZlsk6GZuK4hH0SYJM,iv:GTU6CQ83chXHAuuL0bFMf4L+UWqlcVfXnEE0/SxLzj4=,tag:0LkOSQsuuQd6TK3KHE95TA==,type:str]
|
||||
hetzner:
|
||||
api_key: ENC[AES256_GCM,data:8lDAf8wyM5b7SH/TaQxXyfITStiiO0obDMdWuRHHxHA=,iv:tHwpmW1Unr8DQXOUKutqyssOKOxtNYMIEc2aMXcmSbE=,tag:N2o9tsdaeoi/cm0ETf3UTQ==,type:str]
|
||||
cloudflare:
|
||||
api_key: ENC[AES256_GCM,data:t8kBhlFUxIqjV9f6eJboUrYMAmi5sH3serhD8gBZHVKAAiuy4HHlpg==,iv:xm1EBj5xqnfLYRIJ3XJ0VgyTubG7PMvKrkmlk86YTsE=,tag:0APDuhkAaxv/ozNPVsANLg==,type:str]
|
||||
openai:
|
||||
api_key: ENC[AES256_GCM,data:d6z9TySB6r2myUYu4u9aZwdoy1qL+DdU4MIuel1lFMMKD4XAqn5U9Vc3t5sJ/E3hDXud,iv:500n8CY8Qd/tg+MuT+RDRAyjgy6E9Aolud/2KrRyyqk=,tag:nCowF/czJMkYoNuSl1c3ZA==,type:str]
|
||||
openrouter:
|
||||
@@ -82,7 +84,7 @@ sops:
|
||||
VGZKdHpVeFRpQUxtSEkyaEhLMlBJcGsKLb0DvPNZosPBUuiX6qz1s5IO5INQh8CK
|
||||
ZtXTVClwMSmaUYhdSB2gKFrKVZHXTJZ4oAL5t/BpC0pOHyr+o96T3Q==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-11-27T13:28:41Z"
|
||||
mac: ENC[AES256_GCM,data:KVdCTn6EXEAnj76kUL0d5eaYQJUc1HdfWTlwF+vku5wo2f9aJA2s6uyKXmhhx0e6q8muu10gMVObZzgae0vYZBOhO7GSxlLU9gCi4PaQo2Vz5mC75liCt3geoO9PTShZmLGaEPeuA9DFt/t3ggC2yqXij6uwz0SifvCuKM2QNzw=,iv:FSAa/eJBRDcxY+RLPy9O2PxLDibzRJrLh6+CtQNFtaQ=,tag:iNDr5XvpTJS8pNt9vZgOFw==,type:str]
|
||||
lastmodified: "2025-11-27T16:07:40Z"
|
||||
mac: ENC[AES256_GCM,data:uoEAPUETfHQHnuvP1Mv4OqLUmWqMZxEr4VAElMwaOoYmkMR2blr6htMY5A3y1Qzc1CDv9o5p7cUUNdkYU1VoCj/bGwKgASYjZKM7gZDmrivyl0/XXcdA56pmgPfmO5PCkml1SJwQwwty4uwGNruKfUDrhMH5fIfS4KbS/GmnFeQ=,iv:IIQNHJOoMY9WrWEw2blenTv7RDGRVN8dXxYwMDyZPg8=,tag:vTP8Zv3TOoacVs8JqgMi3A==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.11.0
|
||||
|
||||
4784
server/facter.json
4784
server/facter.json
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user