add parameter to reverse proxy
This commit is contained in:
parent
7dd07de4e5
commit
bdebaa19de
2 changed files with 87 additions and 75 deletions
|
@ -38,6 +38,10 @@
|
|||
ipv6 = "2a01:4f9:1a:9a05::2/128";
|
||||
};
|
||||
|
||||
nixin.traefik = {
|
||||
dashboard-domain = "traefik.lab12.fr";
|
||||
};
|
||||
|
||||
nixin.web = {
|
||||
domain = "nixin.lab12.fr";
|
||||
http-port = 8081;
|
||||
|
|
|
@ -1,9 +1,17 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkOption mkDefault;
|
||||
localCertificationDirectory = config.security.localCertification.directory;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixin.traefik = {
|
||||
dashboard-domain = mkOption { type = lib.types.str; };
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
# Enable Traefik
|
||||
services.traefik.enable = true;
|
||||
|
||||
|
@ -68,7 +76,7 @@ in
|
|||
|
||||
# Dashboard
|
||||
services.traefik.dynamicConfigOptions.http.routers.dashboard = {
|
||||
rule = lib.mkDefault "Host(`traefik.lab12.fr`)";
|
||||
rule = lib.mkDefault "Host(`${config.nixin.traefik.dashboard-domain}`)";
|
||||
service = "api@internal";
|
||||
# restrict access to the dashboard
|
||||
middlewares = [ "wg-whitelist" ];
|
||||
|
@ -79,17 +87,17 @@ in
|
|||
# You can find and example proxy for a non-docker service in the nixin-web.nix module
|
||||
|
||||
# Example docker service with traefik proxy enabled through labels
|
||||
virtualisation.oci-containers.containers.whoami = {
|
||||
autoStart = true;
|
||||
image = "jwilder/whoami";
|
||||
extraOptions = [
|
||||
"--label=traefik.enable=true"
|
||||
"--label=traefik.http.routers.whoami.entrypoints=websecure"
|
||||
"--label=traefik.http.routers.whoami.rule=Host(`whoami.lab12.fr`)"
|
||||
"--label=traefik.http.routers.whoami.tls=true"
|
||||
"--label=traefik.http.services.whoami.loadbalancer.server.port=8000"
|
||||
"--label=traefik.http.routers.whoami.tls.certresolver=acme-challenge"
|
||||
];
|
||||
# virtualisation.oci-containers.containers.whoami = {
|
||||
# autoStart = true;
|
||||
# image = "jwilder/whoami";
|
||||
# extraOptions = [
|
||||
# "--label=traefik.enable=true"
|
||||
# "--label=traefik.http.routers.whoami.entrypoints=websecure"
|
||||
# "--label=traefik.http.routers.whoami.rule=Host(`whoami.domain.tld`)"
|
||||
# "--label=traefik.http.routers.whoami.tls=true"
|
||||
# "--label=traefik.http.services.whoami.loadbalancer.server.port=8000"
|
||||
# "--label=traefik.http.routers.whoami.tls.certresolver=acme-challenge"
|
||||
# ];
|
||||
# };
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue