diff --git a/inc/services.inc b/inc/services.inc index a65affb6..dee1fbfa 100755 --- a/inc/services.inc +++ b/inc/services.inc @@ -38,14 +38,25 @@ SINGLE_SERVER_SERVICE_CHECK(){ for docker in "${!dockerstocheck}"; do for nip in "${!hosts}"; do if [[ "${local_ip}" = *"${nip}"* ]]; then - [ "${docker}" == "authelia" ] && [ ! "$(/usr/bin/docker ps -q -f name=auth_redis)" ] && /usr/bin/docker start auth_redis && sleep 2s >/dev/null 2>&1 - [ ! "$(/usr/bin/docker ps -q -f name=${docker})" ] && /usr/bin/docker start ${docker} & >/dev/null 2>&1 - # [ ! "$(/usr/bin/docker ps -q -f name=${docker})" ] && echo "starting local" || echo "already started local" + if [ "docker ps -a | grep ${docker})" ]; then + [ "${docker}" == "authelia" ] && [ ! "$(/usr/bin/docker ps -q -f name=auth_redis)" ] && /usr/bin/docker start auth_redis && sleep 2s >/dev/null 2>&1 + [ ! "$(/usr/bin/docker ps -q -f name=${docker})" ] && /usr/bin/docker start ${docker} & >/dev/null 2>&1 + else + /usr/local/bin/docker-compose -f ${NM_DOCKER_COMPOSE_LOC[${docker}]}/docker-compose.yml up -d >/dev/null 2>&1 + echo "$(date) - ${nip} - ${NM_HOSTNAMES[${nip}]}[${nip}] - ${NM_DOCKER_DESC[${docker}]} (docker) is not found, creating and starting now" >> ${NM_LOGFILE} + fi + + else if [ "$(CHECK_HOST ${nip})" != "false" ]; then - [ "$(ssh root@${nip} /usr/bin/docker ps -q -f name=${docker})" ] && ssh root@${nip} /usr/bin/docker stop ${docker} >/dev/null 2>&1 - [ "${docker}" == "authelia" ] && [ "$(ssh root@${nip} /usr/bin/docker ps -q -f name=auth_redis)" ] && ssh root@${nip} /usr/bin/docker stop auth_redis >/dev/null 2>&1 - # [ "$(ssh root@${nip} /usr/bin/docker ps -q -f name=${docker})" ] && echo "stopping on $nip" || echo "already stopped on $nip" + if [ "$(ssh root@${nip} docker ps -a | grep ${docker})" ]; then + [ "$(ssh root@${nip} /usr/bin/docker ps -q -f name=${docker})" ] && ssh root@${nip} /usr/bin/docker stop ${docker} >/dev/null 2>&1 + [ "${docker}" == "authelia" ] && [ "$(ssh root@${nip} /usr/bin/docker ps -q -f name=auth_redis)" ] && ssh root@${nip} /usr/bin/docker stop auth_redis >/dev/null 2>&1 + else + ssh root@${nip} /usr/local/bin/docker-compose -f ${NM_DOCKER_COMPOSE_LOC[${docker}]}/docker-compose.yml up -d >/dev/null 2>&1 + echo "$(date) - ${nip} - ${NM_HOSTNAMES[${nip}]}[${nip}] - ${NM_DOCKER_DESC[${docker}]} (docker) is not found, creating and starting now" >> ${NM_LOGFILE} + fi + fi fi done