diff --git a/hosts/kittykat/traefik.nix b/hosts/kittykat/traefik.nix index 793ce92..50ba712 100644 --- a/hosts/kittykat/traefik.nix +++ b/hosts/kittykat/traefik.nix @@ -1,56 +1,59 @@ - - services.traefik = { - enable = true; +services.traefik = { + enable = true; - staticConfigOptions = { - entryPoints = { - web = { - address = ":80"; - asDefault = true; - http.redirections.entrypoint = { - to = "websecure"; - scheme = "https"; + staticConfigOptions = { + entryPoints = { + web = { + address = ":80"; + http.redirections.entrypoint = { + to = "websecure"; + scheme = "https"; + }; + }; + + websecure = { + address = ":443"; + http.tls.certResolver = "letsencrypt"; + }; + }; + + log = { + level = "INFO"; + filePath = "${config.services.traefik.dataDir}/traefik.log"; + format = "json"; + }; + + certificatesResolvers.letsencrypt.acme = { + email = "tulg@protonmail.ch"; + storage = "${config.services.traefik.dataDir}/acme.json"; + httpChallenge.entryPoint = "web"; + }; + + api.dashboard = true; + }; + + dynamicConfigOptions = { + http = { + routers = { + xray = { + rule = "Host(`v2.kittykat.poggerer.xyz`)"; + entryPoints = [ "websecure" ]; + service = "xray"; + tls = { + certResolver = "letsencrypt"; }; }; + }; - websecure = { - address = ":443"; - asDefault = true; - http.tls.certResolver = "letsencrypt"; + services = { + xray = { + loadBalancer = { + servers = [ + { url = "http://127.0.0.1:2053"; } + ]; + }; }; }; - - log = { - level = "INFO"; - filePath = "${config.services.traefik.dataDir}/traefik.log"; - format = "json"; - }; - - certificatesResolvers.letsencrypt.acme = { - email = "tulg@protonmail.ch"; - storage = "${config.services.traefik.dataDir}/acme.json"; - httpChallenge.entryPoint = "web"; - }; - - api.dashboard = true; - # Access the Traefik dashboard on :8080 of your server - # api.insecure = true; }; - - dynamicConfigOptions = { - http = { - routers.xray = { - rule = "Host(`v2.kittykat.poggerer.xyz`)"; - entryPoints = [ "websecure" ]; - service = "xray"; - tls.certResolver = "letsencrypt"; - }; - - services.myapp.loadBalancer.servers = [ - { url = "http://127.0.0.1:2053"; } - ]; }; - - - }; - \ No newline at end of file +}; \ No newline at end of file