diff --git a/nixos/modules/services/web-servers/traefik.nix b/nixos/modules/services/web-servers/traefik.nix index 86534f291ee7..e1f1f73a15e8 100644 --- a/nixos/modules/services/web-servers/traefik.nix +++ b/nixos/modules/services/web-servers/traefik.nix @@ -130,12 +130,9 @@ in startLimitBurst = 5; serviceConfig = { EnvironmentFile = cfg.environmentFiles; - ExecStartPre = lib.optional (cfg.environmentFiles != [ ]) ( - pkgs.writeShellScript "pre-start" '' - umask 077 - ${pkgs.envsubst}/bin/envsubst -i "${staticConfigFile}" > "${finalStaticConfigFile}" - '' - ); + ExecStartPre = lib.optional ( + cfg.environmentFiles != [ ] + ) "${pkgs.envsubst}/bin/envsubst -i '${staticConfigFile}' -o '${finalStaticConfigFile}'"; ExecStart = "${cfg.package}/bin/traefik --configfile=${finalStaticConfigFile}"; Type = "simple"; User = "traefik"; @@ -152,6 +149,7 @@ in ProtectSystem = "full"; ReadWritePaths = [ cfg.dataDir ]; RuntimeDirectory = "traefik"; + RuntimeDirectoryMode = "0700"; WorkingDirectory = cfg.dataDir; }; };