41 lines
1.1 KiB
Nix
41 lines
1.1 KiB
Nix
|
{ config, pkgs, lib, ... }:
|
||
|
let
|
||
|
domain = "ha.home.feal.no";
|
||
|
in {
|
||
|
# Home-assistant - Smart Home Controller
|
||
|
# https://www.home-assistant.io/installation/linux#install-home-assistant-container
|
||
|
# The container is supposed to run as "privileged", but I believe this is only to allow device access (dongles/radios/etc.)
|
||
|
|
||
|
virtualisation.oci-containers.containers = {
|
||
|
homeassistant = {
|
||
|
image = "ghcr.io/home-assistant/home-assistant:2024.1";
|
||
|
extraOptions = [
|
||
|
"--network=host"
|
||
|
];
|
||
|
volumes = [
|
||
|
"/tank/services/homeassistant/config:/config"
|
||
|
];
|
||
|
environment = {
|
||
|
TZ = "Europe/Oslo";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
# Requires addition to configuration.yaml:
|
||
|
# http:
|
||
|
# server_host: 127.0.0.1
|
||
|
# use_x_forwarded_for: true
|
||
|
# trusted_proxies: 127.0.0.1
|
||
|
services.nginx.virtualHosts."${domain}" = {
|
||
|
locations."/" = {
|
||
|
proxyPass = "http://127.0.0.1:8123";
|
||
|
proxyWebsockets = true;
|
||
|
};
|
||
|
listen = [
|
||
|
{ addr = "192.168.10.175"; port = 80; ssl = false; }
|
||
|
{ addr = "192.168.10.175"; port = 8123; ssl = false; }
|
||
|
];
|
||
|
};
|
||
|
}
|
||
|
|