fix(nginx): proxied listen

This commit is contained in:
arcnmx 2024-04-29 12:01:35 -07:00
parent f2c7178486
commit f9b02a03a4
18 changed files with 185 additions and 90 deletions

View file

@ -4,11 +4,10 @@
access,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.modules) mkMerge;
inherit (config.services) home-assistant nginx;
cfg = config.services.cloudflared;
apartment = "5e85d878-c6b2-4b15-b803-9aeb63d63543";
localNginx = "http://localhost:${toString nginx.defaultHTTPListenPort}";
in {
sops.secrets.cloudflared-tunnel-apartment.owner = cfg.user;
services.cloudflared = {
@ -16,28 +15,17 @@ in {
${apartment} = {
credentialsFile = config.sops.secrets.cloudflared-tunnel-apartment.path;
default = "http_status:404";
ingress = {
${nginx.virtualHosts.zigbee2mqtt.serverName} = {
service = localNginx;
};
${nginx.virtualHosts.grocy.serverName} = {
service = localNginx;
};
${nginx.virtualHosts.barcodebuddy.serverName} = {
service = localNginx;
};
${home-assistant.domain} = assert home-assistant.enable; {
service = access.proxyUrlFor { serviceName = "home-assistant"; };
};
};
ingress = mkMerge [
(nginx.virtualHosts.zigbee2mqtt.proxied.cloudflared.getIngress {})
(nginx.virtualHosts.grocy.proxied.cloudflared.getIngress {})
(nginx.virtualHosts.barcodebuddy.proxied.cloudflared.getIngress {})
{
${home-assistant.domain} = assert home-assistant.enable; {
service = access.proxyUrlFor { serviceName = "home-assistant"; };
};
}
];
};
};
};
systemd.services."cloudflared-tunnel-${apartment}" = rec {
wants = mkIf config.services.tailscale.enable [
"tailscaled.service"
];
after = wants;
};
}

View file

@ -10,7 +10,10 @@ _: {
exports = {
services = {
sshd.enable = true;
nginx.enable = true;
nginx = {
enable = true;
ports.proxied.enable = true;
};
tailscale.enable = true;
home-assistant.enable = true;
zigbee2mqtt.enable = true;