feat: Added home-assistant
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
# Include the results of the hardware scan.
|
# Include the results of the hardware scan.
|
||||||
./mirai.nix
|
./mirai.nix
|
||||||
./services.nix
|
./services.nix
|
||||||
|
./docker.nix
|
||||||
];
|
];
|
||||||
security.sudo.wheelNeedsPassword = false;
|
security.sudo.wheelNeedsPassword = false;
|
||||||
sops = {
|
sops = {
|
||||||
|
|||||||
@@ -4,5 +4,30 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
virtualisation.docker.enable = true;
|
# virtualisation = {
|
||||||
|
# docker.enable = true;
|
||||||
|
# podman.enable = true;
|
||||||
|
# oci-containers = {
|
||||||
|
# backend = "podman";
|
||||||
|
# containers.homeassistant = {
|
||||||
|
# volumes = ["home-assistant:/config"];
|
||||||
|
# environment.TZ = "Asia/Kolkata";
|
||||||
|
# image = "ghcr.io/home-assistant/home-assistant:stable"; # Warning: if the tag does not change, the image will not be updated
|
||||||
|
# extraOptions = [
|
||||||
|
# "--network=ha-net"
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# networking.firewall.allowedTCPPorts = [8123];
|
||||||
|
# environment.systemPackages = with pkgs; [
|
||||||
|
# docker
|
||||||
|
# podman
|
||||||
|
# ];
|
||||||
|
# services.caddy = {
|
||||||
|
# enable = true;
|
||||||
|
# virtualHosts."home.darksailor.dev".extraConfig = ''
|
||||||
|
# reverse_proxy localhost:8123
|
||||||
|
# '';
|
||||||
|
# };
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,30 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
|
home-assistant = {
|
||||||
|
enable = true;
|
||||||
|
extraComponents = [
|
||||||
|
"esphome"
|
||||||
|
"met"
|
||||||
|
"radio_browser"
|
||||||
|
"wiz"
|
||||||
|
# "auth_header"
|
||||||
|
];
|
||||||
|
customComponents = [
|
||||||
|
pkgs.home-assistant-custom-components.auth-header
|
||||||
|
];
|
||||||
|
config = {
|
||||||
|
default_config = {};
|
||||||
|
http = {
|
||||||
|
server_host = "::1";
|
||||||
|
trusted_proxies = ["::1"];
|
||||||
|
use_x_forwarded_for = true;
|
||||||
|
};
|
||||||
|
auth_header = {
|
||||||
|
username_header = "Remote-User";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
authelia = {
|
authelia = {
|
||||||
instances.darksailor = {
|
instances.darksailor = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -36,6 +60,12 @@
|
|||||||
};
|
};
|
||||||
access_control = {
|
access_control = {
|
||||||
default_policy = "one_factor";
|
default_policy = "one_factor";
|
||||||
|
rules = [
|
||||||
|
{
|
||||||
|
domain = "darksailor.dev";
|
||||||
|
policy = "one_factor";
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
storage = {
|
storage = {
|
||||||
local = {
|
local = {
|
||||||
@@ -156,6 +186,14 @@
|
|||||||
virtualHosts."auth.darksailor.dev".extraConfig = ''
|
virtualHosts."auth.darksailor.dev".extraConfig = ''
|
||||||
reverse_proxy localhost:5555
|
reverse_proxy localhost:5555
|
||||||
'';
|
'';
|
||||||
|
virtualHosts."home.darksailor.dev".extraConfig = ''
|
||||||
|
forward_auth localhost:5555 {
|
||||||
|
uri /api/authz/forward-auth
|
||||||
|
copy_headers Remote-User Remote-Groups Remote-Email Remote-Name
|
||||||
|
}
|
||||||
|
reverse_proxy localhost:8123
|
||||||
|
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user