43 lines
1004 B
Nix
43 lines
1004 B
Nix
{ config, containerCfg, pkgs, lib, builder, name, ... }:
|
|
let
|
|
serverCfg = config.syscfg.server;
|
|
image = pkgs.dockerTools.streamLayeredImage {
|
|
name = pkgs.home-assistant.name;
|
|
tag = pkgs.home-assistant.version;
|
|
contents = [ ];
|
|
config = {
|
|
Entrypoint = [ "${pkgs.home-assistant}/bin/hass" ];
|
|
ExposedPorts = {
|
|
"8123/tcp" = {};
|
|
};
|
|
};
|
|
};
|
|
in {
|
|
sops = true;
|
|
db = false;
|
|
|
|
paths = [{
|
|
path = "${serverCfg.configPath}/homeassistant/";
|
|
mode = "0755";
|
|
}];
|
|
|
|
containers = {
|
|
server = builder.mkContainer {
|
|
subdomain = containerCfg.subdomain;
|
|
imageStream = image;
|
|
port = 8123;
|
|
secret = name;
|
|
extraEnv = {
|
|
TZ = config.time.timeZone or "UTC";
|
|
};
|
|
overrides = {
|
|
cmd = [ "--config" "/config" ];
|
|
volumes = [
|
|
"${serverCfg.configPath}/homeassistant/:/config"
|
|
"/run/dbus:/run/dbus:ro" # Required for Bluetooth/mDNS service discovery
|
|
];
|
|
};
|
|
};
|
|
};
|
|
|
|
} |