next step
This commit is contained in:
@@ -60,7 +60,7 @@
|
|||||||
ollama.enable = false;
|
ollama.enable = false;
|
||||||
wyoming = {
|
wyoming = {
|
||||||
enable = true;
|
enable = true;
|
||||||
piper = false;
|
piper = true;
|
||||||
openwakeword = true;
|
openwakeword = true;
|
||||||
faster-whisper = true;
|
faster-whisper = true;
|
||||||
};
|
};
|
||||||
@@ -103,7 +103,7 @@
|
|||||||
|
|
||||||
rustdesk.enable = false; #broken
|
rustdesk.enable = false; #broken
|
||||||
|
|
||||||
code-server.enable = false;
|
code-server.enable = true;
|
||||||
|
|
||||||
novnc.enable = false;
|
novnc.enable = false;
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,11 @@
|
|||||||
pipewire.enable = mkDefault true;
|
pipewire.enable = mkDefault true;
|
||||||
netbird.enable = mkDefault true;
|
netbird.enable = mkDefault true;
|
||||||
ollama.enable = mkDefault true;
|
ollama.enable = mkDefault true;
|
||||||
|
|
||||||
|
wyoming = {
|
||||||
|
enable = true;
|
||||||
|
sattelite.enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
|||||||
@@ -59,8 +59,6 @@
|
|||||||
satellite = lib.mkIf config.sysconfig.services.wyoming.satellite {
|
satellite = lib.mkIf config.sysconfig.services.wyoming.satellite {
|
||||||
enable = true;
|
enable = true;
|
||||||
uri = "tcp://0.0.0.0:11431";
|
uri = "tcp://0.0.0.0:11431";
|
||||||
#user = "nathan";
|
|
||||||
vad.enable = false;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -179,12 +179,12 @@
|
|||||||
tls.certResolver = "cloudflare";
|
tls.certResolver = "cloudflare";
|
||||||
#middlewares = [ "authentik" ];
|
#middlewares = [ "authentik" ];
|
||||||
};*/
|
};*/
|
||||||
homeassistant = {
|
/*homeassistant = {
|
||||||
entryPoints = [ "localsecure" ];
|
entryPoints = [ "localsecure" ];
|
||||||
rule = "Host(`hass.esotericbytes.com`)";
|
rule = "Host(`hass.esotericbytes.com`)";
|
||||||
service = "homeassistant";
|
service = "homeassistant";
|
||||||
tls.certResolver = "cloudflare";
|
tls.certResolver = "cloudflare";
|
||||||
};
|
};*/
|
||||||
jellyfin = {
|
jellyfin = {
|
||||||
entryPoints = [ "websecure" "localsecure" ];
|
entryPoints = [ "websecure" "localsecure" ];
|
||||||
rule = "Host(`jellyfin.esotericbytes.com`)";
|
rule = "Host(`jellyfin.esotericbytes.com`)";
|
||||||
@@ -301,12 +301,6 @@
|
|||||||
|
|
||||||
jellyfin.loadBalancer.servers = [ { url = "http://192.168.100.14:8096"; } ];
|
jellyfin.loadBalancer.servers = [ { url = "http://192.168.100.14:8096"; } ];
|
||||||
|
|
||||||
authentik.loadBalancer.servers = [ { url = "http://192.168.100.10:9003"; } ];
|
|
||||||
|
|
||||||
#pihole.loadBalancer.servers = [ { url = "http://192.168.100.10:9001"; } ];
|
|
||||||
|
|
||||||
#portainer.loadBalancer.servers = [ { url = "http://192.168.100.10:9000"; } ];
|
|
||||||
|
|
||||||
keycloak.loadBalancer.servers = [ { url = "http://192.168.100.22:80"; } ];
|
keycloak.loadBalancer.servers = [ { url = "http://192.168.100.22:80"; } ];
|
||||||
|
|
||||||
#novnc.loadBalancer.servers = [ { url = "http://192.168.100.10:6080"; } ];
|
#novnc.loadBalancer.servers = [ { url = "http://192.168.100.10:6080"; } ];
|
||||||
@@ -320,13 +314,11 @@
|
|||||||
servers = [ { url = "http://192.168.100.23:80"; } ];
|
servers = [ { url = "http://192.168.100.23:80"; } ];
|
||||||
};
|
};
|
||||||
|
|
||||||
#ollama.loadBalancer.servers = [ { url = "http://192.168.100.10:11434"; } ];
|
|
||||||
|
|
||||||
openwebui.loadBalancer.servers = [ { url = "http://192.168.100.33:8080"; } ];
|
openwebui.loadBalancer.servers = [ { url = "http://192.168.100.33:8080"; } ];
|
||||||
|
|
||||||
code-server.loadBalancer.servers = [ { url = "http://192.168.100.31:4444"; } ];
|
code-server.loadBalancer.servers = [ { url = "http://192.168.100.31:4444"; } ];
|
||||||
|
|
||||||
homeassistant.loadBalancer.servers = [ { url = "http://192.168.100.25:8123"; } ];
|
/*homeassistant.loadBalancer.servers = [ { url = "http://192.168.100.25:8123"; } ];*/
|
||||||
|
|
||||||
n8n.loadBalancer.servers = [ { url = "http://192.168.100.21:5678"; } ];
|
n8n.loadBalancer.servers = [ { url = "http://192.168.100.21:5678"; } ];
|
||||||
};
|
};
|
||||||
|
|||||||
51
system/virtualization/docker/home-assistant/default.nix
Normal file
51
system/virtualization/docker/home-assistant/default.nix
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
{ config, lib, ... }: {
|
||||||
|
|
||||||
|
options.sysconfig.docker.home-assistant.enable = with lib; mkOption {
|
||||||
|
type = with types; bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf (config.sysconfig.docker.home-assistant.enable && config.sysconfig.docker.enable) {
|
||||||
|
|
||||||
|
networking.firewall.interfaces = {
|
||||||
|
"ve-traefik" = {
|
||||||
|
allowedTCPPorts = [ 9003 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualisation.oci-containers.containers.home-assistant = {
|
||||||
|
image = "home-assistant/home-assistant:stable";
|
||||||
|
|
||||||
|
# unstable, waiting for 26.05
|
||||||
|
#pull = "newer";
|
||||||
|
|
||||||
|
hostname = "hass.esotericbytes.com";
|
||||||
|
|
||||||
|
networks = [
|
||||||
|
"docker-main"
|
||||||
|
];
|
||||||
|
|
||||||
|
labels = {
|
||||||
|
"traefik.http.routers.home-assistant.entrypoints" = "localsecure";
|
||||||
|
"traefik.http.routers.home-assistant.rule" = "Host(`hass.esotericbytes.com`)";
|
||||||
|
"traefik.http.routers.home-assistant.service" = "home-assistant";
|
||||||
|
"traefik.http.routers.home-assistant.tls.certResolver" = "cloudflare";
|
||||||
|
|
||||||
|
"traefik.http.services.home-assistant.loadbalancer.server.url" = "http://192.168.100.10:9003";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraOptions = lib.mkIf config.sysconfig.docker.nvidia [
|
||||||
|
"--ip=192.168.101.6"
|
||||||
|
"--TZ=America/Chicago"
|
||||||
|
];
|
||||||
|
|
||||||
|
ports = [
|
||||||
|
"9003:8123"
|
||||||
|
];
|
||||||
|
|
||||||
|
volumes = [
|
||||||
|
"/etc/home-assistant/:/config/"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user