traefik
This commit is contained in:
parent
245890d044
commit
a52a5741d3
1 changed files with 51 additions and 48 deletions
|
|
@ -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 <Traefik IP>: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"; }
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue