Skip to content

Commit 3146323

Browse files
stackptrclaude
andauthored
fix: restore Home Assistant access (#380)
* fix(spore): enable WebSocket proxying for ha.zx.dev Home Assistant requires WebSocket support for its frontend to load. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> * fix(zeta): add camera extraComponent to Home Assistant HA 2026.2 introduced an ai_task component that's unconditionally imported during WebSocket service description loading. The import chain (ai_task → camera → img_util) requires pyturbojpeg, which wasn't present. Adding camera as an extraComponent pulls in the required Python dependencies via the NixOS HA module. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> * feat(zeta): add mobile_app component to Home Assistant Enables iOS companion app access. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> * fix(zeta): explicitly enable mobile_app in HA configuration extraComponents only makes packages available; the component also needs to be declared in configuration.yaml to be loaded by HA. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
1 parent c92896c commit 3146323

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

‎hosts/spore/services/web/default.nix‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@
6060
"ha.zx.dev" = {
6161
forceSSL = true;
6262
useACMEHost = "zx.dev";
63-
locations."/".proxyPass = "http://zeta.rove-duck.ts.net:8123";
63+
locations."/" = {
64+
proxyPass = "http://zeta.rove-duck.ts.net:8123";
65+
proxyWebsockets = true;
66+
};
6467
};
6568
"files.zx.dev" = {
6669
forceSSL = true;

‎hosts/zeta/services/home-assistant.nix‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
"esphome"
1111
"met"
1212
"radio_browser"
13+
# Required by ai_task → camera import chain in service descriptions
14+
"camera"
15+
"mobile_app"
1316
];
1417
config = {
1518
http = {
@@ -18,6 +21,7 @@
1821
"100.64.0.0/10"
1922
];
2023
};
24+
mobile_app = {};
2125
};
2226
};
2327
networking.firewall.allowedTCPPorts = [8123];

0 commit comments

Comments
 (0)