From 6c3d8df441652f2d5592dab9e0e012a5c52b8ebc Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Mon, 22 May 2023 22:44:33 -0500 Subject: [PATCH] update --- defaults.inc | 1 + inc/status.inc | 107 +++++++++++++++++++++++++------------------------ 2 files changed, 56 insertions(+), 52 deletions(-) diff --git a/defaults.inc b/defaults.inc index 25e1a192..1eb9174a 100755 --- a/defaults.inc +++ b/defaults.inc @@ -167,6 +167,7 @@ NM_SERVICES['monitor-temp']='Server Temp Monitor' declare -A NM_DOCKERS NM_DOCKERS['phpmyadmin']='phpMyAdmin' NM_DOCKERS['phppgadmin']='phpPgAdmin' +NM_DOCKERS['vaultwarden']='VaultWarden' NM_DOCKERS['uptime-kuma']='Uptime-Kuma' NM_DOCKERS['nginx-proxy_manager']='Nginx Proxy Manager' diff --git a/inc/status.inc b/inc/status.inc index 84469047..0d3cafe8 100755 --- a/inc/status.inc +++ b/inc/status.inc @@ -328,62 +328,65 @@ STATUS(){ fi for docker in "${!dockers}"; do - if [ "${ST_ACTION}" != "check" ]; then - if [ "${ST_ACTION}" != "report" ]; then - c=0; cw=30; spc='' - spc1=`expr ${cw} - ${#NM_DOCKERS[${docker}]}` - until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done - else - spc=' ' - fi - echo -en " ${NM_DOCKERS[${docker}]}$spc: " - fi - - if [ ! "$(${NCMD} docker ps -q -f name=${docker})" ]; then - if [ "$(${NCMD} docker ps -aq -f status=exited -f name=${docker})" ]; then - ${NCMD} docker rm ${docker} >/dev/null 2>&1 - fi - ${NCMD} docker-compose -f ${NM_DOCKER_COMPOSE[${docker}]}/docker-compose.yml up -d >/dev/null 2>&1 - sleep 10s - if [ "$(${NCMD} docker ps -q -f name=${docker})" ]; then - if [ "${ST_ACTION}" != "check" ]; then - echo -e "${idsCL[Green]}Running - Fixed${idsCL[Default]}" + [ "${docker}" == "vaultwarden" ] && [ "${NTYPE}" == "WEB" ] && [[ $($NCMD /sbin/ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1) != *${WEB_HOSTS[0]}* ]] && NOGOCHK=false || NOGOCHK=true + if [ ${NOGOCHK} == true ]; then + if [ "${ST_ACTION}" != "check" ]; then + if [ "${ST_ACTION}" != "report" ]; then + c=0; cw=30; spc='' + spc1=`expr ${cw} - ${#NM_DOCKERS[${docker}]}` + until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done + else + spc=' ' + fi + echo -en " ${NM_DOCKERS[${docker}]}$spc: " + fi + + if [ ! "$(${NCMD} docker ps -q -f name=${docker})" ]; then + if [ "$(${NCMD} docker ps -aq -f status=exited -f name=${docker})" ]; then + ${NCMD} docker rm ${docker} >/dev/null 2>&1 + fi + ${NCMD} docker-compose -f ${NM_DOCKER_COMPOSE[${docker}]}/docker-compose.yml up -d >/dev/null 2>&1 + sleep 10s + if [ "$(${NCMD} docker ps -q -f name=${docker})" ]; then + if [ "${ST_ACTION}" != "check" ]; then + echo -e "${idsCL[Green]}Running - Fixed${idsCL[Default]}" + fi + SENDNOTICE "${NM_NODETYPES[$NTYPE]}-Node${nid}-${nip}" "${NM_DOCKERS[${docker}]} is fixed" + rm -f ${TMPFOLDER}/${nip}-${docker}.down + rm -f ${TMPFOLDER}/${nip}-${docker}.errtime + echo "$(date) - ${nip} - ${NM_NODETYPES[$NTYPE]}-Node${nid} - ${NM_DOCKERS[${docker}]} (docker) is fixed" >> ${LOGFILE} + + else + if [ "${ST_ACTION}" != "check" ]; then + echo -e "${idsCL[Red]}Not Running - Could Not Fix!${idsCL[Default]}" + + if [ ! -f ${TMPFOLDER}/${nip}-${docker}.down ]; then + SENDNOTICE "${NM_NODETYPES[$NTYPE]}-Node${nid}-${nip}" "${NM_DOCKERS[${docker}]} is down" 1 + touch ${TMPFOLDER}/${nip}-${docker}.down + echo "$(date) - ${nip} - ${NM_NODETYPES[$NTYPE]}-Node${nid} - ${NM_DOCKERS[${docker}]} (docker) is down" >> ${LOGFILE} + else + errtime=`date +%s`-$(stat -c %Y ${TMPFOLDER}/${nip}-${docker}.down) + if [ $errtime -gt ${RENOTIFY} ]; then + if [ ! -f ${TMPFOLDER}/${nip}-${docker}.errtime ]; then + mv ${TMPFOLDER}/${nip}-${docker}.down ${TMPFOLDER}/${nip}-${docker}.errtime + fi + toterrtime=`date +%s`-$(stat -c %Y ${TMPFOLDER}/${nip}-${docker}.errtime) + if [ "${ST_ACTION}" != "check" ]; then + echo -e "${idsCL[Red]}Not running for $(SHOW_TIME ${toterrtime})${idsCL[Default]}" + fi + touch ${TMPFOLDER}/${nip}-${docker}.down + fi + fi + + fi + fi + else + if [ "${ST_ACTION}" != "check" ]; then + echo -e "${idsCL[Green]}Running${idsCL[Default]}" fi - SENDNOTICE "${NM_NODETYPES[$NTYPE]}-Node${nid}-${nip}" "${NM_DOCKERS[${docker}]} is fixed" rm -f ${TMPFOLDER}/${nip}-${docker}.down rm -f ${TMPFOLDER}/${nip}-${docker}.errtime - echo "$(date) - ${nip} - ${NM_NODETYPES[$NTYPE]}-Node${nid} - ${NM_DOCKERS[${docker}]} (docker) is fixed" >> ${LOGFILE} - - else - if [ "${ST_ACTION}" != "check" ]; then - echo -e "${idsCL[Red]}Not Running - Could Not Fix!${idsCL[Default]}" - - if [ ! -f ${TMPFOLDER}/${nip}-${docker}.down ]; then - SENDNOTICE "${NM_NODETYPES[$NTYPE]}-Node${nid}-${nip}" "${NM_DOCKERS[${docker}]} is down" 1 - touch ${TMPFOLDER}/${nip}-${docker}.down - echo "$(date) - ${nip} - ${NM_NODETYPES[$NTYPE]}-Node${nid} - ${NM_DOCKERS[${docker}]} (docker) is down" >> ${LOGFILE} - else - errtime=`date +%s`-$(stat -c %Y ${TMPFOLDER}/${nip}-${docker}.down) - if [ $errtime -gt ${RENOTIFY} ]; then - if [ ! -f ${TMPFOLDER}/${nip}-${docker}.errtime ]; then - mv ${TMPFOLDER}/${nip}-${docker}.down ${TMPFOLDER}/${nip}-${docker}.errtime - fi - toterrtime=`date +%s`-$(stat -c %Y ${TMPFOLDER}/${nip}-${docker}.errtime) - if [ "${ST_ACTION}" != "check" ]; then - echo -e "${idsCL[Red]}Not running for $(SHOW_TIME ${toterrtime})${idsCL[Default]}" - fi - touch ${TMPFOLDER}/${nip}-${docker}.down - fi - fi - - fi fi - else - if [ "${ST_ACTION}" != "check" ]; then - echo -e "${idsCL[Green]}Running${idsCL[Default]}" - fi - rm -f ${TMPFOLDER}/${nip}-${docker}.down - rm -f ${TMPFOLDER}/${nip}-${docker}.errtime fi done fi