From eeedaa0928219f6b6ceb98bfa88b7a1df0ac9f34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= Date: Tue, 18 Feb 2025 19:49:37 +0100 Subject: [PATCH] Don't fail if 'docker compose up' times out while downloading containers --- lib/functions.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/functions.sh b/lib/functions.sh index 8224b7d..77b48e1 100644 --- a/lib/functions.sh +++ b/lib/functions.sh @@ -377,12 +377,21 @@ start_service() { fi fi + # On first startup, the containers are being downloaded -- this may fail + # with timeouts, so allow trying again + local TRIES=0 if [ $DEBUG ]; then # Start /federated/apps/SERVICE with output to console for debug - docker compose -f /federated/apps/$SERVICE/docker-compose.yml -p $SERVICE up + while [ "$TRIES" -lt 10 ]; do + docker compose -f /federated/apps/$SERVICE/docker-compose.yml -p $SERVICE up && break + TRIES=$((TRIES+1)) + done [ $? -eq 0 ] && echo -ne "done.\n" || fail "There was a problem starting service /federated/apps/$SERVICE" else - docker compose -f /federated/apps/$SERVICE/docker-compose.yml -p $SERVICE up -d &> /dev/null + while [ "$TRIES" -lt 10 ]; do + docker compose -f /federated/apps/$SERVICE/docker-compose.yml -p $SERVICE up -d &> /dev/null && break + TRIES=$((TRIES+1)) + done # Keep trying service port to make sure it's up before # we proceed