From 5fcdd11797893d8a34b40cf66b4fcffa90784ae6 Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 17 Oct 2023 14:19:58 -0400 Subject: [PATCH 1/5] minor GUI refactor --- luasrc/view/nodered/status.htm | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/luasrc/view/nodered/status.htm b/luasrc/view/nodered/status.htm index f6a8355..fb6f454 100644 --- a/luasrc/view/nodered/status.htm +++ b/luasrc/view/nodered/status.htm @@ -2,30 +2,21 @@ local util = require "luci.util" local container_status = util.trim(util.exec("/usr/libexec/apps/nodered/nodered.sh status")) local container_running = string.find(string.lower(container_status), "up") and string.find(string.lower(container_status), "(healthy)") +local port=util.trim(util.exec("/usr/libexec/apps/nodered/nodered.sh port")) -%>
-
<% if container_running then %> + <% + if port == "" then + port="1880" + end + -%> + <% else %> <% end %>
- -<% -if container_running then - local port=util.trim(util.exec("/usr/libexec/apps/nodered/nodered.sh port")) - if port == "" then - port="1880" - end --%> -
- -
- -
-
-<% end %> -- 2.38.4 From 18089e8810d0b521ed966782e14387dce84cd9fa Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 17 Oct 2023 14:30:21 -0400 Subject: [PATCH 2/5] status polling fix and minior gui tweaks --- luasrc/model/cbi/nodered.lua | 2 +- root/usr/libexec/apps/nodered/nodered.sh | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) mode change 100644 => 100755 root/usr/libexec/apps/nodered/nodered.sh 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}}') -- 2.38.4 From 946ed949326b43d75c56f549c27b24952ad90baf Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 17 Oct 2023 14:32:33 -0400 Subject: [PATCH 3/5] UI wording tweak --- luasrc/model/cbi/nodered.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/luasrc/model/cbi/nodered.lua b/luasrc/model/cbi/nodered.lua index 8dd2fcb..a83b3fb 100644 --- a/luasrc/model/cbi/nodered.lua +++ b/luasrc/model/cbi/nodered.lua @@ -14,7 +14,7 @@ m = taskd.docker_map("nodered", "nodered", "/usr/libexec/apps/nodered/nodered.sh s = m:section(SimpleSection, translate("Service Status")) s:append(Template("nodered/status")) -s = m:section(TypedSection, "nodered", translate("Setup"), translate("Refresh to update settings.")) +s = m:section(TypedSection, "nodered", translate("Setup"), translate("The following parameters will only take effect during installation or upgrade:")) s.addremove=false s.anonymous=true -- 2.38.4 From 54daf4b532033ac4c292b82f2f55ec208af0defd Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 17 Oct 2023 14:38:05 -0400 Subject: [PATCH 4/5] Fixed status indicator formatting --- luasrc/view/nodered/status.htm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/luasrc/view/nodered/status.htm b/luasrc/view/nodered/status.htm index fb6f454..d29563c 100644 --- a/luasrc/view/nodered/status.htm +++ b/luasrc/view/nodered/status.htm @@ -1,7 +1,7 @@ <% local util = require "luci.util" local container_status = util.trim(util.exec("/usr/libexec/apps/nodered/nodered.sh status")) -local container_running = string.find(string.lower(container_status), "up") and string.find(string.lower(container_status), "(healthy)") +local container_running = string.match(string.lower(container_status), "^up%W") local port=util.trim(util.exec("/usr/libexec/apps/nodered/nodered.sh port")) -%> -- 2.38.4 From 4733eed42d87dcd1a81f516d8aa3016f3ea2a6f2 Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 17 Oct 2023 17:19:53 -0400 Subject: [PATCH 5/5] tiny interface cleanup and more verbose start/stop --- luasrc/model/cbi/nodered.lua | 2 +- root/usr/libexec/apps/nodered/nodered.sh | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/luasrc/model/cbi/nodered.lua b/luasrc/model/cbi/nodered.lua index a83b3fb..2585ccb 100644 --- a/luasrc/model/cbi/nodered.lua +++ b/luasrc/model/cbi/nodered.lua @@ -9,7 +9,7 @@ local m, s, o m = taskd.docker_map("nodered", "nodered", "/usr/libexec/apps/nodered/nodered.sh", translate("Nodered"), 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/') + .. "
" .. translate("Official website:") .. ' https://www.nodered.org/') s = m:section(SimpleSection, translate("Service Status")) s:append(Template("nodered/status")) diff --git a/root/usr/libexec/apps/nodered/nodered.sh b/root/usr/libexec/apps/nodered/nodered.sh index c55fc23..5a66e29 100755 --- a/root/usr/libexec/apps/nodered/nodered.sh +++ b/root/usr/libexec/apps/nodered/nodered.sh @@ -87,7 +87,17 @@ case "${ACTION}" in ;; "start" | "stop" | "restart") APP_NAME="node-red" - CONTAINER_IDS=$(docker ps -a --filter "ancestor=${APP_NAME}" --format '{{.ID}}') + CONTAINER_IDS=$(docker ps -a | grep "$APP_NAME" | awk '{print $1}') + + # Echo action message + if [ "$ACTION" == "start" ]; then + echo "Starting $APP_NAME container(s)" + elif [ "$ACTION" == "stop" ]; then + echo "Stopping $APP_NAME container(s)" + elif [ "$ACTION" == "restart" ]; then + echo "Restarting $APP_NAME container(s)" + fi + for ID in $CONTAINER_IDS; do docker "${ACTION}" "${ID}" done -- 2.38.4