Add listener.py

This commit is contained in:
2026-09-28 13:03:55 +01:00
parent 765039e778
commit 1a259444eb
+37
View File
@@ -0,0 +1,37 @@
import subprocess
from http.server import HTTPServer, BaseHTTPRequestHandler
PORT = 8083
class ListenerHandler(BaseHTTPRequestHandler):
def do_POST(self):
# Enable CORS so browser accepts the response
self.send_response(200)
self.send_header('Access-Control-Allow-Origin', '*')
self.send_header('Content-Type', 'text/plain')
self.end_headers()
try:
# Run your exact docker command
cmd = [
"docker", "run", "--rm",
"-v", "/home/iain/dashboard:/app",
"-v", "/home/iain/navidrome/data:/nddata",
"python:3.11-slim", "python", "/app/dashboard.py"
]
result = subprocess.run(cmd, capture_output=True, text=True)
if result.returncode == 0:
self.wfile.write(b"Success")
else:
self.wfile.write(b"Failed")
except Exception as e:
self.wfile.write(str(e).encode())
def run():
server_address = ('', PORT)
httpd = HTTPServer(server_address, ListenerHandler)
print(f"Listener running on port {PORT}...")
httpd.serve_forever()
if __name__ == '__main__':
run()