diff --git a/luasrc/model/cbi/nodered.lua b/luasrc/model/cbi/nodered.lua index 17f80b1..8dd2fcb 100644 --- a/luasrc/model/cbi/nodered.lua +++ b/luasrc/model/cbi/nodered.lua @@ -11,7 +11,7 @@ m = taskd.docker_map("nodered", "nodered", "/usr/libexec/apps/nodered/nodered.sh translate("Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.") .. translate("Official website:") .. ' https://www.nodered.org/') -s = m:section(SimpleSection, translate("Service Status"), translate("nodered status:")) +s = m:section(SimpleSection, translate("Service Status")) s:append(Template("nodered/status")) s = m:section(TypedSection, "nodered", translate("Setup"), translate("Refresh to update settings.")) diff --git a/root/usr/libexec/apps/nodered/nodered.sh b/root/usr/libexec/apps/nodered/nodered.sh old mode 100644 new mode 100755 index cb0eafd..c55fc23 --- a/root/usr/libexec/apps/nodered/nodered.sh +++ b/root/usr/libexec/apps/nodered/nodered.sh @@ -93,10 +93,15 @@ case "${ACTION}" in done ;; "status") - APP_NAME="node-red" - CONTAINER_NAMES=$(docker ps -a --filter "name=${APP_NAME}" --format '{{.Names}}') - docker ps --all -f "name=${CONTAINER_NAMES}" --format '{{.Status}}' - ;; + APP_NAME="node-red" + CONTAINER_NAME=$(docker ps -a --filter "name=${APP_NAME}" --format '{{.Names}}') + CONTAINER_STATUS=$(docker ps --all --filter "name=${CONTAINER_NAME}" --format '{{.Status}}' | awk '/^Up/ { print "up " substr($0, 4) } !/^Up/ && /.+/ { print "down" }') + if [ -z "$CONTAINER_NAME" ]; then + echo "${APP_NAME} is not installed" + else + echo "${CONTAINER_STATUS}" + fi + ;; "port") APP_NAME="node-red" CONTAINER_NAMES=$(docker ps -a --filter "ancestor=${APP_NAME}" --format '{{.Names}}')