From 6e2a7708792f46eed9f81adb0a456cb7c1f635d5 Mon Sep 17 00:00:00 2001 From: riley Date: Mon, 11 Sep 2023 23:33:50 -0400 Subject: [PATCH 01/14] Made wrapper script executable --- root/usr/libexec/apps/btcpayserver/btcpayserver.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 root/usr/libexec/apps/btcpayserver/btcpayserver.sh diff --git a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh old mode 100644 new mode 100755 -- 2.38.4 From 5fc09730e9e38f6ec80efdbf111deb8fc1d2d28e Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 12 Sep 2023 11:39:03 -0400 Subject: [PATCH 02/14] Added some additional directory handling --- root/usr/libexec/apps/btcpayserver/btcpayserver.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh index 198ac7b..5d7b5af 100755 --- a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh +++ b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh @@ -5,6 +5,8 @@ APP_NAME="btcpayserver" ACTION="${1}" shift 1 +mkdir -p /usr/local/bin + get_image() { do_install_detail } @@ -86,6 +88,7 @@ case "${ACTION}" in done docker rmi -f "$IMAGE_NAME" rm -r /opt/docker2/compose/btcpayserver 2>/dev/null + rm -rf /opt/docker2/compose/btcpayserver/btcpayserver-docker 2>/dev/null # Removing the btcpayserver-docker directory ;; "start" | "stop" | "restart") APP_NAME="btcpayserver" -- 2.38.4 From dfeef784bd96ce7579b1645887f351f4ab66ade0 Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 12 Sep 2023 12:04:37 -0400 Subject: [PATCH 03/14] Fixed the way rm works for better cleanup --- root/usr/libexec/apps/btcpayserver/btcpayserver.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh index 5d7b5af..315795c 100755 --- a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh +++ b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh @@ -78,15 +78,13 @@ case "${ACTION}" in do_install_detail ;; "rm") - IMAGE_NAME=$(uci get btcpayserver.@btcpayserver[0].image_name 2>/dev/null) - [ -z "$IMAGE_NAME" ] && IMAGE_NAME="btcpayserver" - CONTAINER_IDS=$(docker ps -a --filter "ancestor=${IMAGE_NAME}" --format '{{.ID}}') echo "Stopping and removing containers..." + CONTAINER_IDS=$(docker ps -a | grep 'btcpayserver\|generated_' | awk '{print $1}') for ID in $CONTAINER_IDS; do docker stop "$ID" docker rm "$ID" done - docker rmi -f "$IMAGE_NAME" + docker rmi -f $(docker images | grep 'btcpayserver' | awk '{print $3}') rm -r /opt/docker2/compose/btcpayserver 2>/dev/null rm -rf /opt/docker2/compose/btcpayserver/btcpayserver-docker 2>/dev/null # Removing the btcpayserver-docker directory ;; -- 2.38.4 From a65748bfe77c099f7967b23798e2b359ee6ee4ae Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 12 Sep 2023 12:12:38 -0400 Subject: [PATCH 04/14] Fixed status.htm polling --- luasrc/view/btcpayserver/status.htm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/luasrc/view/btcpayserver/status.htm b/luasrc/view/btcpayserver/status.htm index bf99d86..8dca7fd 100644 --- a/luasrc/view/btcpayserver/status.htm +++ b/luasrc/view/btcpayserver/status.htm @@ -1,31 +1,31 @@ <% local util = require "luci.util" local container_status = util.trim(util.exec("/usr/libexec/apps/btcpayserver/btcpayserver.sh status")) -local container_install = (string.len(container_status) > 0) -local container_running = container_status == "running" +local container_running = string.find(string.lower(container_status), "up") and string.find(string.lower(container_status), "(healthy)") -%> +
- +
<% if container_running then %> - + <% else %> - + <% end %>
+ <% if container_running then - local port=util.trim(util.exec("/usr/libexec/apps/btcpayserver/btcpayserver.sh port")) + local port = util.trim(util.exec("/usr/libexec/apps/btcpayserver/btcpayserver.sh port")) if port == "" then - port="3000" + port = "3000" end -%>
- - +
<% end %> -- 2.38.4 From 6f69de39b22581cfee7e55f5f386859d6103ab0d Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 12 Sep 2023 12:18:15 -0400 Subject: [PATCH 05/14] More rm fixes --- root/usr/libexec/apps/btcpayserver/btcpayserver.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh index 315795c..939f7b4 100755 --- a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh +++ b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh @@ -84,7 +84,10 @@ case "${ACTION}" in docker stop "$ID" docker rm "$ID" done - docker rmi -f $(docker images | grep 'btcpayserver' | awk '{print $3}') + IMAGE_IDS=$(docker images | grep 'btcpayserver' | awk '{print $3}') + if [ -n "$IMAGE_IDS" ]; then + docker rmi -f $IMAGE_IDS + fi rm -r /opt/docker2/compose/btcpayserver 2>/dev/null rm -rf /opt/docker2/compose/btcpayserver/btcpayserver-docker 2>/dev/null # Removing the btcpayserver-docker directory ;; -- 2.38.4 From 4795f058808886dfe74ff14994b8f644d5305490 Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 12 Sep 2023 12:47:11 -0400 Subject: [PATCH 06/14] Handle status properly if container is not installed --- root/usr/libexec/apps/btcpayserver/btcpayserver.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh index 939f7b4..d6114a8 100755 --- a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh +++ b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh @@ -101,7 +101,11 @@ case "${ACTION}" in "status") APP_NAME="btcpayserver" CONTAINER_NAMES=$(docker ps -a --filter "name=${APP_NAME}" --format '{{.Names}}') - docker ps --all -f "name=${CONTAINER_NAMES}" --format '{{.Status}}' + if [ -z "$CONTAINER_NAMES" ]; then + echo "${APP_NAME} is not installed." + else + docker ps --all -f "name=${CONTAINER_NAMES}" --format '{{.Status}}' + fi ;; "port") APP_NAME="btcpayserver" -- 2.38.4 From 5d5d48a1aa9689e714f1c7a6e84da00c590b7108 Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 12 Sep 2023 13:09:10 -0400 Subject: [PATCH 07/14] Fixed status polling for healthy container --- luasrc/view/btcpayserver/status.htm | 2 +- root/usr/libexec/apps/btcpayserver/btcpayserver.sh | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/luasrc/view/btcpayserver/status.htm b/luasrc/view/btcpayserver/status.htm index 8dca7fd..54bdf90 100644 --- a/luasrc/view/btcpayserver/status.htm +++ b/luasrc/view/btcpayserver/status.htm @@ -1,7 +1,7 @@ <% local util = require "luci.util" local container_status = util.trim(util.exec("/usr/libexec/apps/btcpayserver/btcpayserver.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 .* (seconds|minutes|hours)") -%>
diff --git a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh index d6114a8..bc1bad3 100755 --- a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh +++ b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh @@ -99,12 +99,12 @@ case "${ACTION}" in done ;; "status") - APP_NAME="btcpayserver" - CONTAINER_NAMES=$(docker ps -a --filter "name=${APP_NAME}" --format '{{.Names}}') - if [ -z "$CONTAINER_NAMES" ]; then + CONTAINER_NAME="generated_btcpayserver_1" + CONTAINER_STATUS=$(docker ps --all --filter "name=${CONTAINER_NAME}" --format '{{.Status}}' | awk -F' ' '{print $1, $2, $3}') + if [ -z "$CONTAINER_STATUS" ]; then echo "${APP_NAME} is not installed." else - docker ps --all -f "name=${CONTAINER_NAMES}" --format '{{.Status}}' + echo "${CONTAINER_STATUS}" fi ;; "port") -- 2.38.4 From e954fa24babbaa8832c6a66299ed134a4341f518 Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 12 Sep 2023 19:36:19 -0400 Subject: [PATCH 08/14] got rid of a dot --- root/usr/libexec/apps/btcpayserver/btcpayserver.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh index bc1bad3..a4707ee 100755 --- a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh +++ b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh @@ -102,7 +102,7 @@ case "${ACTION}" in CONTAINER_NAME="generated_btcpayserver_1" CONTAINER_STATUS=$(docker ps --all --filter "name=${CONTAINER_NAME}" --format '{{.Status}}' | awk -F' ' '{print $1, $2, $3}') if [ -z "$CONTAINER_STATUS" ]; then - echo "${APP_NAME} is not installed." + echo "${APP_NAME} is not installed" else echo "${CONTAINER_STATUS}" fi -- 2.38.4 From b7a0c66b0dd1d656bec2591fc60613db2e6f61f1 Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 12 Sep 2023 19:52:44 -0400 Subject: [PATCH 09/14] refined status message handling --- root/usr/libexec/apps/btcpayserver/btcpayserver.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh index a4707ee..cb36ec4 100755 --- a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh +++ b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh @@ -100,13 +100,14 @@ case "${ACTION}" in ;; "status") CONTAINER_NAME="generated_btcpayserver_1" - CONTAINER_STATUS=$(docker ps --all --filter "name=${CONTAINER_NAME}" --format '{{.Status}}' | awk -F' ' '{print $1, $2, $3}') + CONTAINER_STATUS=$(docker ps --all --filter "name=${CONTAINER_NAME}" --format '{{.Status}}' | awk '/^Up/ { print "up " substr($0, 4) } !/^Up/ && /.+/ { print "down" }') if [ -z "$CONTAINER_STATUS" ]; then echo "${APP_NAME} is not installed" else echo "${CONTAINER_STATUS}" fi ;; + "port") APP_NAME="btcpayserver" CONTAINER_NAMES=$(docker ps -a --filter "ancestor=${APP_NAME}" --format '{{.Names}}') -- 2.38.4 From 84030a24cb835b0517135b2c5ccb0f1280631ff4 Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 12 Sep 2023 19:55:35 -0400 Subject: [PATCH 10/14] added versioning to makefile --- Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile index ce4f5a2..32b3d82 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,8 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI support for btcpayserver LUCI_PKGARCH:=all LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd +PKG_VERSION=1.0.1 +PKG_RELEASE:=1 define Package/luci-app-btcpayserver/conffiles /etc/config/btcpayserver -- 2.38.4 From db2a0491c8e272795bf869e88fb586bed40188b4 Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 12 Sep 2023 20:11:04 -0400 Subject: [PATCH 11/14] fixed more status stuff --- luasrc/view/btcpayserver/status.htm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/luasrc/view/btcpayserver/status.htm b/luasrc/view/btcpayserver/status.htm index 54bdf90..393c36b 100644 --- a/luasrc/view/btcpayserver/status.htm +++ b/luasrc/view/btcpayserver/status.htm @@ -1,7 +1,7 @@ <% local util = require "luci.util" local container_status = util.trim(util.exec("/usr/libexec/apps/btcpayserver/btcpayserver.sh status")) -local container_running = string.match(string.lower(container_status), "^up .* (seconds|minutes|hours)") +local container_running = string.match(string.lower(container_status), "^up%W") -%>
-- 2.38.4 From abbb6ae29c528d577e8785da457ed6ee99fa1ce9 Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 12 Sep 2023 22:18:16 -0400 Subject: [PATCH 12/14] Updated app description --- luasrc/model/cbi/btcpayserver.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/luasrc/model/cbi/btcpayserver.lua b/luasrc/model/cbi/btcpayserver.lua index 54a8725..41c62d9 100644 --- a/luasrc/model/cbi/btcpayserver.lua +++ b/luasrc/model/cbi/btcpayserver.lua @@ -8,7 +8,7 @@ local m, s, o m = taskd.docker_map("btcpayserver", "btcpayserver", "/usr/libexec/apps/btcpayserver/btcpayserver.sh", translate("btcpayserver"), - translate("Get Virtual Desktops of all flavors, Alpine, Ubuntu, Fedora, and Arch based containers containing full desktop environments in officially supported versions accessible via any modern web browser.") + translate("BTCPay Server is a self-hosted, open-source cryptocurrency payment processor. It's secure, private, censorship-resistant and free.") .. translate("Official website:") .. ' hhttps://docs.linuxserver.io/images/docker-btcpayserver/') s = m:section(SimpleSection, translate("Service Status"), translate("btcpayserver status:")) -- 2.38.4 From 6a151f877d100beac77495c3b9066b8706e11822 Mon Sep 17 00:00:00 2001 From: riley Date: Wed, 13 Sep 2023 17:10:31 -0400 Subject: [PATCH 13/14] fixed start/stop functionality --- root/usr/libexec/apps/btcpayserver/btcpayserver.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh index cb36ec4..6225bf0 100755 --- a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh +++ b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh @@ -93,7 +93,7 @@ case "${ACTION}" in ;; "start" | "stop" | "restart") APP_NAME="btcpayserver" - CONTAINER_IDS=$(docker ps -a --filter "ancestor=${APP_NAME}" --format '{{.ID}}') + CONTAINER_IDS=$(docker ps -a | grep ${APP_NAME} | awk '{print $1}') for ID in $CONTAINER_IDS; do docker "${ACTION}" "${ID}" done -- 2.38.4 From 7381c23e8e80c67e63f4e3c4b2fc329bce445283 Mon Sep 17 00:00:00 2001 From: riley Date: Wed, 13 Sep 2023 17:55:15 -0400 Subject: [PATCH 14/14] made start/stop actually start/stop all the things --- root/usr/libexec/apps/btcpayserver/btcpayserver.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh index 6225bf0..8c7ebbb 100755 --- a/root/usr/libexec/apps/btcpayserver/btcpayserver.sh +++ b/root/usr/libexec/apps/btcpayserver/btcpayserver.sh @@ -93,7 +93,7 @@ case "${ACTION}" in ;; "start" | "stop" | "restart") APP_NAME="btcpayserver" - CONTAINER_IDS=$(docker ps -a | grep ${APP_NAME} | awk '{print $1}') + CONTAINER_IDS=$(docker ps -a | grep 'btcpayserver\|generated_' | awk '{print $1}') for ID in $CONTAINER_IDS; do docker "${ACTION}" "${ID}" done -- 2.38.4