diff --git a/install/localagi-install.sh b/install/localagi-install.sh index 608089cca..e5e865fbe 100644 --- a/install/localagi-install.sh +++ b/install/localagi-install.sh @@ -14,6 +14,21 @@ setting_up_container network_check update_os +LOCALAGI_SERVICE_NEEDS_RECOVERY=0 + +function cleanup_localagi_service() { + if [[ "${LOCALAGI_SERVICE_NEEDS_RECOVERY:-0}" == "1" ]] && ! systemctl is-active -q localagi; then + msg_warn "LocalAGI service is not active; attempting recovery start" + if systemctl start localagi; then + msg_ok "Recovered LocalAGI service" + else + msg_error "Failed to recover LocalAGI service" + fi + fi +} + +trap cleanup_localagi_service EXIT + msg_info "Installing Dependencies" $STD apt install -y \ curl \ @@ -82,6 +97,7 @@ RestartSec=5 WantedBy=multi-user.target EOF systemctl daemon-reload +LOCALAGI_SERVICE_NEEDS_RECOVERY=1 systemctl enable -q --now localagi msg_ok "Created Service" @@ -89,6 +105,7 @@ if ! systemctl is-active -q localagi; then msg_error "Failed to start LocalAGI service" exit 1 fi +LOCALAGI_SERVICE_NEEDS_RECOVERY=0 msg_ok "Started LocalAGI (${BACKEND})" motd_ssh