{ ... }: { services.traefik = { enable = true; staticConfigOptions = { api = { insecure = true; }; entryPoints = { http = { address = ":80"; }; https = { address = ":443"; }; }; certificatesResolvers = { default = { acme = { email = "evie@xenia.me.uk"; storage = "/var/lib/traefik/acme.json"; httpChallenge = { entryPoint = "http"; }; }; }; }; }; dynamicConfigOptions.http = { routers.traefik = { rule = "Host(`traefik.xenia.me.uk`)"; service = "traefik-webinterface"; tls = { certResolver = "default"; }; }; services.traefik-webinterface.loadBalancer.servers = [{ url = "http://localhost:8080"; }]; }; }; networking.firewall = { enable = true; allowedTCPPorts = [ 80 443 8080 ]; }; }