{...}: { specialisation.traefikEnableWebUI.configuration.services.traefik = { staticConfigOptions = { api = { # Enable the web ui insecure = true; dashboard = true; }; }; }; services.traefik = { enable = true; staticConfigOptions = { entryPoints = { http = {address = "100.73.96.48:80";}; }; }; }; systemd = { units.tailscaled.requiredBy = ["traefik.service"]; # We have somewhat frequent power outages, and our ISP router takes # ages to boot up. If I don't add a delay, traefik tries to bind to # the tailscale interface before it's ready, making it crash too much # in too little time services.traefik.serviceConfig.RestartSec = 120; }; networking.firewall.allowedTCPPorts = [80 8080]; }