From 5cc01ca3469f2bacdb12f0acf653a1d2955157d2 Mon Sep 17 00:00:00 2001 From: copenri Date: Thu, 2 Nov 2023 23:01:28 -0400 Subject: [PATCH] Add endpoint to restart Frigate The only means of restarting Frigate remotely is to issue a restart topic on the server's websocket. It's convenient to also expose this capability via HTTP endpoint. --- frigate/http.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/frigate/http.py b/frigate/http.py index 9566a067c..297b2f2e5 100644 --- a/frigate/http.py +++ b/frigate/http.py @@ -2103,3 +2103,30 @@ def logs(service: str): jsonify({"success": False, "message": "Could not find log file"}), 500, ) + + +@bp.route("/restart", methods=["POST"]) +def restart(): + try: + restart_frigate() + except Exception as e: + logging.error(f"Error restarting Frigate: {e}") + return make_response( + jsonify( + { + "success": False, + "message": "Unable to restart Frigate.", + } + ), + 500, + ) + + return make_response( + jsonify( + { + "success": True, + "message": "Restarting (this can take up to one minute)...", + } + ), + 200, + )