{ den, __findFile, modules, ... }: { # Basic traefik modules.services.provides.traefik = { nixos = { config, ... }: { services.traefik = { enable = true; staticConfigOptions = { entryPoints = { web = { address = ":80"; http.redirections.entrypoint = { to = "websecure"; scheme = "https"; }; asDefault = true; }; websecure = { address = ":443"; asDefault = true; http.tls.certResolver = "letsencrypt"; }; traefik = { address = ":8080"; }; }; certificatesResolvers.letsencrypt.acme = { email = "doloroo@proton.me"; storage = "${config.services.traefik.dataDir}/acme.json"; httpChallenge.entryPoint = "web"; }; providers = { docker = { endpoint = "unix:///var/run/docker.sock"; }; }; api.dashboard = true; api.insecure = true; }; }; }; }; }