51 lines
1.2 KiB
Nix
51 lines
1.2 KiB
Nix
{
|
|
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 = {
|
|
};
|
|
};
|
|
api.dashboard = true;
|
|
api.insecure = true;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|