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()