Removed Traefik rules location modularity (why would anyone change it ?) and fixed Traefik no such file or dir error.

This commit is contained in:
Raphaël Numbus
2026-02-26 11:36:31 +01:00
parent ca3f766975
commit 47db93e61b
4 changed files with 8 additions and 20 deletions
-6
View File
@@ -35,12 +35,6 @@ with lib;
example = "pi-hole"; example = "pi-hole";
description = "The preferred DNS resolver service (pi-hole or adguard) that other services should depend on"; description = "The preferred DNS resolver service (pi-hole or adguard) that other services should depend on";
}; };
traefikDynamicConfigDir = mkOption {
type = types.str;
default = "traefik/rules";
example = "traefik/rules";
description = "The directory where Traefik's dynamic configuration files will be stored, appended to /etc/ (i.e. to get /etc/traefik/rules as final path, enter traefik/rules)";
};
}; };
email = { email = {
+1 -1
View File
@@ -77,7 +77,7 @@ with lib;
{ {
environment.etc."podman/${name}/compose.yaml".text = composeText; environment.etc."podman/${name}/compose.yaml".text = composeText;
environment.etc."${config.numbus.services.traefikDynamicConfigDir}/${name}.yaml" = mkIf cfg.reverseProxied { environment.etc."traefik/rules/${name}.yaml" = mkIf cfg.reverseProxied {
text = '' text = ''
http: http:
routers: routers:
+2 -2
View File
@@ -156,7 +156,7 @@ helper.mkPodmanService {
''; '';
extraConfig = { extraConfig = {
environment.etc."${config.numbus.services.traefikDynamicConfigDir}/nextcloud-onlyoffice.yaml".text = '' environment.etc."traefik/rules/nextcloud-onlyoffice.yaml".text = ''
http: http:
routers: routers:
nextcloud-onlyoffice: nextcloud-onlyoffice:
@@ -176,7 +176,7 @@ helper.mkPodmanService {
- url: "http://host.containers.internal:9980" - url: "http://host.containers.internal:9980"
''; '';
environment.etc."${config.numbus.services.traefikDynamicConfigDir}/nextcloud-whiteboard.yaml".text = '' environment.etc."traefik/rules/nextcloud-whiteboard.yaml".text = ''
http: http:
routers: routers:
nextcloud-whiteboard: nextcloud-whiteboard:
+5 -11
View File
@@ -40,8 +40,8 @@ helper.mkPodmanService {
- "80:80/tcp" - "80:80/tcp"
- "443:443/tcp" - "443:443/tcp"
volumes: volumes:
- /etc/${cfg.traefikStaticConfigDir}/config.yaml:/etc/traefik/traefik.yaml:ro - /etc/static/traefik/traefik.yaml:/etc/traefik/traefik.yaml:ro
- /etc/${config.numbus.services.traefikDynamicConfigDir}:/etc/traefik/rules:ro - /etc/static/traefik/rules:/etc/traefik/rules:ro
- ${cfg.configDir}:/var/traefik/certs:rw - ${cfg.configDir}:/var/traefik/certs:rw
environment: environment:
- CF_DNS_API_TOKEN=$CLOUDFLARE_DNS_API_TOKEN - CF_DNS_API_TOKEN=$CLOUDFLARE_DNS_API_TOKEN
@@ -53,7 +53,7 @@ helper.mkPodmanService {
''; '';
extraConfig = { extraConfig = {
environment.etc."${cfg.traefikStaticConfigDir}/config.yaml".text = '' environment.etc."traefik/traefik.yaml".text = ''
global: global:
checkNewVersion: false checkNewVersion: false
sendAnonymousUsage: false sendAnonymousUsage: false
@@ -98,7 +98,7 @@ helper.mkPodmanService {
watch: true watch: true
''; '';
environment.etc."${config.numbus.services.traefikDynamicConfigDir}/secureHeaders.yaml".text = '' environment.etc."traefik/rules/secureHeaders.yaml".text = ''
http: http:
middlewares: middlewares:
secureHeaders: secureHeaders:
@@ -121,7 +121,7 @@ helper.mkPodmanService {
STSSeconds: 315360000 STSSeconds: 315360000
''; '';
environment.etc."${config.numbus.services.traefikDynamicConfigDir}/secureTLS.yaml".text = '' environment.etc."traefik/rules/secureTLS.yaml".text = ''
tls: tls:
options: options:
secureTLS: secureTLS:
@@ -139,12 +139,6 @@ helper.mkPodmanService {
extraOptions = { extraOptions = {
enable.default = true; enable.default = true;
traefikStaticConfigDir = mkOption {
type = types.str;
default = "traefik";
example = "traefik";
description = "The path of the directory containing Traefik's static configuration file, appended to /etc/ (i.e. to get /etc/traefik as final path, enter traefik)";
};
logLevel = mkOption { logLevel = mkOption {
type = types.enum [ "TRACE" "DEBUG" "INFO" "WARN" "ERROR" "FATAL" ]; type = types.enum [ "TRACE" "DEBUG" "INFO" "WARN" "ERROR" "FATAL" ];
default = "ERROR"; default = "ERROR";