Update modules/server/containers/apps/traefik.nix

This commit is contained in:
2026-05-12 17:45:16 +02:00
parent ff64e6c231
commit c4b5c47aa4

View File

@@ -11,6 +11,7 @@ let
}; };
}; };
in { in {
sops = true;
paths = [{ paths = [{
path="${serverCfg.configPath}/traefik"; path="${serverCfg.configPath}/traefik";
owner = "1000:1000"; owner = "1000:1000";
@@ -21,7 +22,6 @@ in {
server = builder.mkContainer { server = builder.mkContainer {
imageStream = image; imageStream = image;
subdomain = containerCfg.subdomain; subdomain = containerCfg.subdomain;
ip = containerCfg.ip;
port = 8080; port = 8080;
secret = name; secret = name;
extraLabels = { extraLabels = {
@@ -55,15 +55,19 @@ in {
"--entrypoints.web.http.redirections.entrypoint.scheme=https" "--entrypoints.web.http.redirections.entrypoint.scheme=https"
"--entrypoints.web-secure.transport.respondingtimeouts.readtimeout=0s" "--entrypoints.web-secure.transport.respondingtimeouts.readtimeout=0s"
"--entrypoints.web-secure.proxyprotocol.trustedips=127.0.0.1/32,192.168.1.1/16,10.10.0.0/16" "--entrypoints.web-secure.proxyprotocol.trustedips=127.0.0.1/32,192.168.1.1/16,10.10.0.0/16"
] ++ (if containerCfg.extra ? provider then [ ] ++ (if serverCfg.containers ? umami then [
"--experimental.plugins.umami-feeder.moduleName=github.com/astappiev/traefik-umami-feeder"
"--experimental.plugins.umami-feeder.version=v1.4.1"
"--entrypoints.web-secure.http.middlewares=umami-global@docker"
] else []) ++ (if containerCfg.extra ? provider then [
"--certificatesresolvers.default.acme.email=acme@${serverCfg.hostDomain}" "--certificatesresolvers.default.acme.email=acme@${serverCfg.hostDomain}"
"--certificatesresolvers.default.acme.dnschallenge=true" "--certificatesresolvers.default.acme.dnschallenge=true"
"--certificatesresolvers.default.acme.dnschallenge.provider=${containerCfg.extra.provider}" "--certificatesresolvers.default.acme.dnschallenge.provider=${containerCfg.extra.provider}"
"--certificatesresolvers.default.acme.storage=/custom/acme.json" "--certificatesresolvers.default.acme.storage=/custom/acme.json"
] else (if serverCfg.hostDomain != "localhost" then [ ] else []) ++ (if serverCfg.hostDomain != "localhost" then [
"--certificatesresolvers.default.acme.httpchallenge=false" "--certificatesresolvers.default.acme.httpchallenge=false"
"--certificatesresolvers.default.acme.tlschallenge=true" "--certificatesresolvers.default.acme.tlschallenge=true"
] else [ ])); ] else []);
ports = [ "443:443" "80:80" ] ++ (if containerCfg.port!=null then [ "${toString containerCfg.port}:8080" ] else []); ports = [ "443:443" "80:80" ] ++ (if containerCfg.port!=null then [ "${toString containerCfg.port}:8080" ] else []);
volumes = [ volumes = [
"/var/run/podman/podman.sock:/var/run/docker.sock" "/var/run/podman/podman.sock:/var/run/docker.sock"