feat: serve the home vision system on LAN and Tailscale with architecture documentation

This commit is contained in:
Codex
2026-10-03 16:21:00 +08:00
parent 528007ea43
commit 0674f260a4
5 changed files with 78 additions and 12 deletions
+10 -5
View File
@@ -682,9 +682,14 @@ def initialize():
if __name__ == '__main__':
initialize()
threading.Thread(target=storage_watch, daemon=True).start()
bind = os.environ.get('VISION_BIND', '127.0.0.1')
bindings = [h.strip() for h in os.environ.get('VISION_BIND', '127.0.0.1').split(',') if h.strip()]
port = int(os.environ.get('VISION_PORT', '8790'))
server = ThreadingHTTPServer((bind, port), Handler)
server.daemon_threads = True
print('ZhaoVision listening on ' + bind + ':' + str(port), flush=True)
server.serve_forever()
servers = []
for bind in dict.fromkeys(bindings):
server = ThreadingHTTPServer((bind, port), Handler)
server.daemon_threads = True
servers.append(server)
print('ZhaoVision listening on ' + bind + ':' + str(port), flush=True)
for server in servers[1:]:
threading.Thread(target=server.serve_forever, daemon=True).start()
servers[0].serve_forever()