#!/usr/bin/env bash # Déploie le dashboard depuis l’hôte systemd, jamais depuis le conteneur lui-même. set -Eeuo pipefail readonly APP_DIR="/opt/manus-deploy/apps/manus-dashboard" readonly REQUEST_FILE="${APP_DIR}/.deployment-request" readonly PROCESSING_FILE="${APP_DIR}/.deployment-request.processing" readonly LOCK_FILE="/run/manus-dashboard-self-deploy.lock" exec 9>"${LOCK_FILE}" flock -n 9 || exit 0 [[ -f "${REQUEST_FILE}" ]] || exit 0 mv "${REQUEST_FILE}" "${PROCESSING_FILE}" restore_request() { [[ -f "${PROCESSING_FILE}" ]] && mv "${PROCESSING_FILE}" "${REQUEST_FILE}" } trap restore_request ERR cd "${APP_DIR}" git pull --ff-only origin main docker compose up -d --build rm -f "${PROCESSING_FILE}" logger -p daemon.info -t manus-dashboard-self-deploy "Dashboard redéployé depuis le service hôte"