Clean up traefik routes

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-03-07 22:57:29 +00:00
parent 4676201fce
commit 881b18065a
3 changed files with 25 additions and 26 deletions

View File

@@ -115,13 +115,9 @@ in
entrypoint = "/entrypoint.sh"; entrypoint = "/entrypoint.sh";
labels = [ labels = [
"traefik.enable=true" "traefik.enable=true"
"traefik.http.routers.ntfy.rule=Host(`ntfy.karaolidis.com`)"
"traefik.http.routers.ntfy-public.rule=Host(`ntfy.karaolidis.com`)" "traefik.http.routers.ntfy.entrypoints=websecure"
"traefik.http.routers.ntfy-public.entrypoints=websecure" "traefik.http.routers.ntfy.tls.certresolver=letsencrypt"
"traefik.http.routers.ntfy-public.tls.certresolver=letsencrypt"
"traefik.http.routers.ntfy-local.rule=Host(`ntfy.karaolidis.local`)"
"traefik.http.routers.ntfy-local.entrypoints=websecure"
]; ];
}; };

View File

@@ -13,8 +13,6 @@ in
networking.firewall.allowedTCPPorts = [ networking.firewall.allowedTCPPorts = [
80 80
443 443
# TODO: Remove
8080
]; ];
home-manager.users.${user} = { home-manager.users.${user} = {
@@ -38,12 +36,19 @@ in
containerConfig = { containerConfig = {
autoUpdate = "registry"; autoUpdate = "registry";
image = "docker.io/library/traefik:latest"; image = "docker.io/library/traefik:latest";
networks = [ networks.traefik.ref ];
volumes = [
"/run/user/${
builtins.toString config.users.users.${user}.uid
}/podman/podman.sock:/var/run/docker.sock"
"${volumes.letsencrypt.ref}:/letsencrypt"
];
exec = [ exec = [
# TODO: Secure
"--api.insecure=true"
"--api.dashboard=true" "--api.dashboard=true"
"--api.disabledashboardad=true" "--api.disabledashboardad=true"
"--global.sendAnonymousUsage=false"
"--providers.docker=true" "--providers.docker=true"
"--providers.docker.exposedbydefault=false" "--providers.docker.exposedbydefault=false"
@@ -60,19 +65,21 @@ in
"--entrypoints.websecure.http.tls.domains[1].sans=*.krlds.com" "--entrypoints.websecure.http.tls.domains[1].sans=*.krlds.com"
"--entrypoints.websecure.forwardedHeaders.insecure=true" "--entrypoints.websecure.forwardedHeaders.insecure=true"
# TODO: Middlewares: Compress, Headers
# TODO: HTTP3
"--certificatesresolvers.letsencrypt.acme.dnschallenge=true" "--certificatesresolvers.letsencrypt.acme.dnschallenge=true"
"--certificatesresolvers.letsencrypt.acme.dnschallenge.provider=cloudflare" "--certificatesresolvers.letsencrypt.acme.dnschallenge.provider=cloudflare"
"--certificatesresolvers.letsencrypt.acme.email=nick@karaolidis.com" "--certificatesresolvers.letsencrypt.acme.email=nick@karaolidis.com"
"--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json" "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
]; ];
networks = [ networks.traefik.ref ]; labels = [
# TODO: Remove "traefik.enable=true"
publishPorts = [ "0.0.0.0:8080:8080" ]; "traefik.http.routers.traefik.rule=Host(`proxy.karaolidis.com`)"
volumes = [ "traefik.http.routers.traefik.entrypoints=websecure"
"/run/user/${ "traefik.http.routers.traefik.tls.certresolver=letsencrypt"
builtins.toString config.users.users.${user}.uid "traefik.http.routers.traefik.service: 'api@internal'"
}/podman/podman.sock:/var/run/docker.sock" "traefik.http.routers.traefik.middlewares: 'authelia@docker'"
"${volumes.letsencrypt.ref}:/letsencrypt"
]; ];
environmentFiles = [ hmConfig.sops.templates."traefik.env".path ]; environmentFiles = [ hmConfig.sops.templates."traefik.env".path ];
}; };

View File

@@ -14,13 +14,9 @@ in
networks = [ networks.traefik.ref ]; networks = [ networks.traefik.ref ];
labels = [ labels = [
"traefik.enable=true" "traefik.enable=true"
"traefik.http.routers.whoami.rule=Host(`whoami.karaolidis.com`)"
"traefik.http.routers.whoami-public.rule=Host(`whoami.karaolidis.com`)" "traefik.http.routers.whoami.entrypoints=websecure"
"traefik.http.routers.whoami-public.entrypoints=websecure" "traefik.http.routers.whoami.tls.certresolver=letsencrypt"
"traefik.http.routers.whoami-public.tls.certresolver=letsencrypt"
"traefik.http.routers.whoami-local.rule=Host(`whoami.karaolidis.local`)"
"traefik.http.routers.whoami-local.entrypoints=websecure"
]; ];
}; };
} }