50 lines
1.2 KiB
Nix
50 lines
1.2 KiB
Nix
{ config, pkgs, ... }: {
|
|
services.home-assistant = {
|
|
enable = true;
|
|
extraComponents = [
|
|
"default_config"
|
|
"esphome"
|
|
"met"
|
|
"radio_browser"
|
|
];
|
|
openFirewall = false;
|
|
config = {
|
|
default_config = {};
|
|
http = {
|
|
server_host = "::1";
|
|
base_url = "raspite.local:1000";
|
|
use_x_forward_for = true;
|
|
trusted_proxies = [
|
|
"::1"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
|
|
services.esphome = {
|
|
enable = true;
|
|
openFirewall = false;
|
|
};
|
|
|
|
users.groups.dialout.members = config.users.groups.wheel.members;
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
zigbee2mqtt
|
|
];
|
|
|
|
networking.firewall.allowedTCPPorts = [ 1000 1001 ];
|
|
|
|
services.caddy = {
|
|
enable = true;
|
|
virtualHosts = {
|
|
# reverse_proxy ${config.services.home-assistant.config.http.server_host}:${toString config.services.home-assistant.config.http.server_port}
|
|
"raspite.local:1000".extraConfig = ''
|
|
reverse_proxy http://[::1]:8123
|
|
'';
|
|
|
|
"raspite.local:1001".extraConfig = ''
|
|
reverse_proxy ${config.services.esphome.address}:${toString config.services.esphome.port}
|
|
'';
|
|
};
|
|
};
|
|
}
|