4NK_node/scripts/orchestrate_start.sh
Debian 5c60af349d
Some checks failed
CI - 4NK_node / Security Tests (push) Failing after 27s
CI - 4NK_node / Documentation Tests (push) Failing after 3s
CI - 4NK_node / Security Audit (push) Successful in 3s
CI - 4NK_node / Release Guard (push) Has been skipped
CI - 4NK_node / Performance Tests (push) Successful in 27s
CI - 4NK_node / Notify (push) Failing after 1s
CI - 4NK_node / Publish Release (push) Has been skipped
CI - 4NK_node / Code Quality (push) Failing after 30s
CI - 4NK_node / Unit Tests (push) Failing after 29s
CI - 4NK_node / Integration Tests (push) Failing after 33s
CI - 4NK_node / Docker Build & Test (push) Failing after 10s
feat(config): centralize restart config; add conf/restart_config.conf; adapt restart script; add skeleton external_nodes.conf; update README
2025-09-04 19:44:15 +00:00

70 lines
2.0 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env bash
set -euo pipefail
BASE_DIR="/home/debian/code/4NK_dev/4NK_node"
cd "$BASE_DIR" || exit 1
echo "== Début de lorchestration de démarrage des modules =="
SERVICES=(
tor
bitcoin
blindbit
sdk_storage
sdk_relay1
sdk_relay2
sdk_relay3
ihm_client
sdk_signer
coffre_back_mini
coffre_front
)
wait_for_service() {
local svc="$1"; local timeout=${2:-120}; local waited=0
while :; do
if docker compose ps "$svc" 2>/dev/null | grep -q "Up"; then
return 0
fi
if [ "$waited" -ge "$timeout" ]; then
echo "[WARN] Service '$svc' n'est pas en état 'Up' après ${timeout}s" >&2
return 1
fi
waited=$((waited+2))
sleep 2
done
}
for svc in "${SERVICES[@]}"; do
# Determine corresponding image to verify availability
case "$svc" in
tor) img="4nk-node-tor:docker-support-v2" ;;
bitcoin) img="4nk-node-bitcoin:docker-support-v2" ;;
blindbit) img="4nk-node-blindbit:docker-support-v2" ;;
sdk_storage) img="4nk-node-sdk_storage:docker-support-v2" ;;
sdk_relay1) img="4nk-node-sdk_relay1:docker-support-v2" ;;
sdk_relay2) img="4nk-node-sdk_relay2:docker-support-v2" ;;
sdk_relay3) img="4nk-node-sdk_relay3:docker-support-v2" ;;
ihm_client) img="4nk-node-ihm_client:docker-support-v2" ;;
sdk_signer) img="4nk-node-sdk_signer:docker-support-v2" ;;
coffre_back_mini) img="4nk-node-lecoffre-back-mini:latest" ;;
coffre_front) img="lecoffre-front:latest" ;;
miniback) img="4nk-node-miniback:latest" ;;
*) img="" ;;
esac
if [[ -n "$img" ]]; then
if ! docker image inspect "$img" >/dev/null 2>&1; then
echo "[WARN] Image '$img' for service '$svc' not found; skipping." >&2
continue
fi
fi
echo "Starting service: $svc"
docker compose up -d "$svc"
wait_for_service "$svc" 180 || echo "Continuing malgré l'état potentiellement non Up pour $svc"
echo "Service $svc démarré (ou état final vérifié)."
done
echo "== Ordre dorchestration terminé =="