traefik: init cloudflare challenge
This commit is contained in:
parent
b4ba6d5894
commit
a026229611
1 changed files with 25 additions and 6 deletions
|
@ -1,6 +1,15 @@
|
||||||
{...}: {
|
{config, ...}: {
|
||||||
networking.firewall.allowedTCPPorts = [80 443 8080];
|
networking.firewall.allowedTCPPorts = [80 443 8080];
|
||||||
|
|
||||||
|
systemd.user.services.traefik.after = ["docker.service"];
|
||||||
|
systemd.services.traefik = {
|
||||||
|
environment = {
|
||||||
|
CLOUDFLARE_EMAIL = "jch0tm2e@notohh.dev";
|
||||||
|
};
|
||||||
|
serviceConfig = {
|
||||||
|
EnvironmentFile = config.sops.secrets.cloudflare-api-key.path;
|
||||||
|
};
|
||||||
|
};
|
||||||
services.traefik = {
|
services.traefik = {
|
||||||
enable = true;
|
enable = true;
|
||||||
group = "docker";
|
group = "docker";
|
||||||
|
@ -13,29 +22,39 @@
|
||||||
service = "api@internal";
|
service = "api@internal";
|
||||||
};
|
};
|
||||||
homepage = {
|
homepage = {
|
||||||
rule = "Host(`homepage.lab`)";
|
rule = "Host(`dashboard.lab`)";
|
||||||
entrypoints = ["web"];
|
entrypoints = ["web"];
|
||||||
service = "homepage@docker";
|
service = "homepage@docker";
|
||||||
};
|
};
|
||||||
searxng = {
|
searxng = {
|
||||||
rule = "Host(`test`)";
|
rule = "Host(`searxng.lab`)";
|
||||||
entrypoints = ["web"];
|
entrypoints = ["web"];
|
||||||
service = "searxng@docker";
|
service = "searxng@docker";
|
||||||
};
|
};
|
||||||
hugo = {
|
hugo = {
|
||||||
rule = "Host(`hugo.lab`)";
|
rule = "Host(`notohh.dev`)";
|
||||||
entryPoints = ["websecure"];
|
entryPoints = ["websecure"];
|
||||||
service = "hugo@docker";
|
service = "hugo@docker";
|
||||||
|
tls.domains = [{main = "*.notohh.dev";}];
|
||||||
|
tls.certresolver = "staging";
|
||||||
};
|
};
|
||||||
stash = {
|
stash = {
|
||||||
rule = "Host(`stash.lab`)";
|
rule = "Host(`stash.lab`)";
|
||||||
entrypoints = ["web"];
|
entrypoints = ["web"];
|
||||||
service = "stash@docker";
|
service = "stash@docker";
|
||||||
};
|
};
|
||||||
|
foundryvtt = {
|
||||||
|
rule = "Host(`foundry.notohh.dev`)";
|
||||||
|
entrypoints = ["websecure"];
|
||||||
|
service = "foundryvtt@docker";
|
||||||
|
tls.domains = [{main = "*.notohh.dev";}];
|
||||||
|
tls.certresolver = "staging";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
staticConfigOptions = {
|
staticConfigOptions = {
|
||||||
|
log.level = "DEBUG";
|
||||||
api.dashboard = true;
|
api.dashboard = true;
|
||||||
api.insecure = true;
|
api.insecure = true;
|
||||||
providers.docker = true;
|
providers.docker = true;
|
||||||
|
@ -54,7 +73,7 @@
|
||||||
caServer = "https://acme-staging-v02.api.letsencrypt.org/directory";
|
caServer = "https://acme-staging-v02.api.letsencrypt.org/directory";
|
||||||
dnsChallenge = {
|
dnsChallenge = {
|
||||||
provider = "cloudflare";
|
provider = "cloudflare";
|
||||||
delayBeforeCheck = 0;
|
delayBeforeCheck = "0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
production.acme = {
|
production.acme = {
|
||||||
|
@ -63,7 +82,7 @@
|
||||||
caServer = "https://acme-v02.api.letsencrypt.org/directory";
|
caServer = "https://acme-v02.api.letsencrypt.org/directory";
|
||||||
dnsChallenge = {
|
dnsChallenge = {
|
||||||
provider = "cloudflare";
|
provider = "cloudflare";
|
||||||
delayBeforeCheck = 0;
|
delayBeforeCheck = "0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue