From d9639c8584ff85694884cd6679d2ccb759b0085d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Oliveira?= Date: Wed, 14 Jan 2026 12:42:53 +0000 Subject: [PATCH 01/11] First try --- ct/nodecasttv.sh | 54 +++++++++++++++++++++++++++++++++++ install/nodecasttv-install.sh | 41 ++++++++++++++++++++++++++ misc/build.func | 6 ++-- 3 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 ct/nodecasttv.sh create mode 100644 install/nodecasttv-install.sh diff --git a/ct/nodecasttv.sh b/ct/nodecasttv.sh new file mode 100644 index 000000000..71e2c6b38 --- /dev/null +++ b/ct/nodecasttv.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/luismco/ProxmoxVED/refs/heads/nodecast-tv/misc/build.func) +# Copyright (c) 2021-2026 community-scripts ORG +# Author: luismco +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/BlessedRebuS/Krawl + +APP="Nodecasttv" +var_tags="${var_tags:-proxy}" +var_cpu="${var_cpu:-2}" +var_ram="${var_ram:-2048}" +var_disk="${var_disk:-4}" +var_os="${var_os:-debian}" +var_version="${var_version:-13}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/nodecast-tv ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + if check_for_gh_release "nodecast-tv" "technomancer702/nodecast-tv"; then + msg_info "Stopping Service" + systemctl stop nodecast-tv + msg_ok "Stopped Service" + + fetch_and_deploy_gh_release "nodecast-tv" "technomancer702/nodecast-tv" + + msg_info "Starting Service" + systemctl start nodecast-tv + msg_ok "Started Service" + msg_ok "Updated successfully!" + fi + exit +} + +start +build_container +description + +msg_ok "Completed successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" + diff --git a/install/nodecasttv-install.sh b/install/nodecasttv-install.sh new file mode 100644 index 000000000..c295adcb9 --- /dev/null +++ b/install/nodecasttv-install.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2026 community-scripts ORG +# Author: luismco +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/ThePhaseless/Byparr + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +fetch_and_deploy_gh_release "nodecast-tv" "technomancer702/nodecast-tv" +setup_nodejs + +msg_info "Creating Service" +cat </etc/systemd/system/nodecast-tv.service +[Unit] +Description=nodecast-tv +After=network.target +Wants=network.target + +[Service] +Type=simple +WorkingDirectory=/opt/nodecast-tv +ExecStart=/bin/bash -c 'exec /bin/npm install && /bin/npm run dev' +Restart=on-failure +RestartSec=10 + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now nodecast-tv +msg_ok "Created Service" + +motd_ssh +customize +cleanup_lxc diff --git a/misc/build.func b/misc/build.func index 06923e925..6abdb8950 100644 --- a/misc/build.func +++ b/misc/build.func @@ -2828,7 +2828,7 @@ build_container() { pushd "$TEMP_DIR" >/dev/null # Unified install.func automatically detects OS type (debian, alpine, fedora, etc.) - export FUNCTIONS_FILE_PATH="$(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/install.func)" + export FUNCTIONS_FILE_PATH="$(curl -fsSL https://raw.githubusercontent.com/luismco/ProxmoxVED/refs/heads/krawl/misc/install.func)" # Core exports for install.func export DIAGNOSTICS="$DIAGNOSTICS" @@ -3419,7 +3419,7 @@ chmod +x /etc/profile.d/term.sh" || true set +Eeuo pipefail # Disable ALL error handling temporarily trap - ERR # Remove ERR trap completely - lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/install/${var_install}.sh)" + lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/luismco/ProxmoxVED/refs/heads/krawl/install/${var_install}.sh)" local lxc_exit=$? set -Eeuo pipefail # Re-enable error handling @@ -3506,7 +3506,7 @@ chmod +x /etc/profile.d/term.sh" || true if [[ "${DEV_MODE_MOTD:-false}" == "true" ]]; then echo -e "${TAB}${HOLD}${DGN}Setting up MOTD and SSH for debugging...${CL}" if pct exec "$CTID" -- bash -c " - source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/install.func) + source <(curl -fsSL https://raw.githubusercontent.com/luismco/ProxmoxVED/refs/heads/krawl/misc/install.func) declare -f motd_ssh >/dev/null 2>&1 && motd_ssh || true " >/dev/null 2>&1; then local ct_ip=$(pct exec "$CTID" ip a s dev eth0 2>/dev/null | awk '/inet / {print $2}' | cut -d/ -f1) From 3bce94c6ac176b5ce1e0ff770a9fdd813758fa35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Oliveira?= Date: Wed, 14 Jan 2026 12:47:52 +0000 Subject: [PATCH 02/11] build.func changes --- misc/build.func | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/build.func b/misc/build.func index 6abdb8950..d58aa9ea6 100644 --- a/misc/build.func +++ b/misc/build.func @@ -3419,7 +3419,7 @@ chmod +x /etc/profile.d/term.sh" || true set +Eeuo pipefail # Disable ALL error handling temporarily trap - ERR # Remove ERR trap completely - lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/luismco/ProxmoxVED/refs/heads/krawl/install/${var_install}.sh)" + lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/luismco/ProxmoxVED/refs/heads/nodecast-tv/install/${var_install}.sh)" local lxc_exit=$? set -Eeuo pipefail # Re-enable error handling From e266debc3dd82afbd8c17c1547db56e6bbd75e67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Oliveira?= Date: Wed, 14 Jan 2026 13:09:14 +0000 Subject: [PATCH 03/11] Changes to the service --- install/nodecasttv-install.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/install/nodecasttv-install.sh b/install/nodecasttv-install.sh index c295adcb9..a378deeb3 100644 --- a/install/nodecasttv-install.sh +++ b/install/nodecasttv-install.sh @@ -15,6 +15,10 @@ update_os fetch_and_deploy_gh_release "nodecast-tv" "technomancer702/nodecast-tv" setup_nodejs +msg_info "Installing Modules" +cd /opt/nodecast-tv +$STD npm install +msg_ok "Installed Modules" msg_info "Creating Service" cat </etc/systemd/system/nodecast-tv.service @@ -26,7 +30,7 @@ Wants=network.target [Service] Type=simple WorkingDirectory=/opt/nodecast-tv -ExecStart=/bin/bash -c 'exec /bin/npm install && /bin/npm run dev' +ExecStart=/bin/npm run dev Restart=on-failure RestartSec=10 From 4f01c94894c6274840715e24cc177b5033bca9d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Oliveira?= Date: Wed, 14 Jan 2026 13:18:38 +0000 Subject: [PATCH 04/11] update flow updated --- ct/nodecasttv.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ct/nodecasttv.sh b/ct/nodecasttv.sh index 71e2c6b38..ce23800c2 100644 --- a/ct/nodecasttv.sh +++ b/ct/nodecasttv.sh @@ -35,6 +35,11 @@ function update_script() { fetch_and_deploy_gh_release "nodecast-tv" "technomancer702/nodecast-tv" + msg_info "Updating Modules" + cd /opt/nodecast-tv + $STD npm install + msg_ok "Updated Modules" + msg_info "Starting Service" systemctl start nodecast-tv msg_ok "Started Service" From 86c16e163dcfffe1f1ca8277d7c1da219ee20e23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Oliveira?= Date: Wed, 14 Jan 2026 13:26:35 +0000 Subject: [PATCH 05/11] Correct app name --- ct/nodecasttv.sh | 4 ++-- install/{nodecasttv-install.sh => nodecast-tv-install.sh} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename install/{nodecasttv-install.sh => nodecast-tv-install.sh} (100%) diff --git a/ct/nodecasttv.sh b/ct/nodecasttv.sh index ce23800c2..7ff85400d 100644 --- a/ct/nodecasttv.sh +++ b/ct/nodecasttv.sh @@ -3,9 +3,9 @@ source <(curl -fsSL https://raw.githubusercontent.com/luismco/ProxmoxVED/refs/he # Copyright (c) 2021-2026 community-scripts ORG # Author: luismco # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/BlessedRebuS/Krawl +# Source: https://github.com/technomancer702/nodecast-tv -APP="Nodecasttv" +APP="Nodecast-tv" var_tags="${var_tags:-proxy}" var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" diff --git a/install/nodecasttv-install.sh b/install/nodecast-tv-install.sh similarity index 100% rename from install/nodecasttv-install.sh rename to install/nodecast-tv-install.sh From 28016c6978f76282763be966a5b513c06d47ce65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Oliveira?= Date: Wed, 14 Jan 2026 13:35:02 +0000 Subject: [PATCH 06/11] Final commit --- ct/nodecasttv.sh | 4 +-- frontend/public/json/nodecast-tv.json | 35 +++++++++++++++++++++++++++ install/nodecast-tv-install.sh | 2 +- 3 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 frontend/public/json/nodecast-tv.json diff --git a/ct/nodecasttv.sh b/ct/nodecasttv.sh index 7ff85400d..8d03609e0 100644 --- a/ct/nodecasttv.sh +++ b/ct/nodecasttv.sh @@ -5,8 +5,8 @@ source <(curl -fsSL https://raw.githubusercontent.com/luismco/ProxmoxVED/refs/he # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/technomancer702/nodecast-tv -APP="Nodecast-tv" -var_tags="${var_tags:-proxy}" +APP="nodecast-tv" +var_tags="${var_tags:-media}" var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-4}" diff --git a/frontend/public/json/nodecast-tv.json b/frontend/public/json/nodecast-tv.json new file mode 100644 index 000000000..8d3f0e1fb --- /dev/null +++ b/frontend/public/json/nodecast-tv.json @@ -0,0 +1,35 @@ +{ + "name": "nodecast-tv", + "slug": "nodecast-tv", + "categories": [ + 13 + ], + "date_created": "2026-01-14", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 3000, + "documentation": "https://github.com/technomancer702/nodecast-tv/blob/main/README.md", + "website": "https://github.com/technomancer702/nodecast-tv", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/nodecast-tv.webp", + "config_path": "", + "description": "nodecast-tv is a modern, web-based IPTV player featuring Live TV, EPG, Movies (VOD), and Series support. Built with performance and user experience in mind.", + "install_methods": [ + { + "type": "default", + "script": "ct/nodecast-tv.sh", + "resources": { + "cpu": 2, + "ram": 2048, + "hdd": 4, + "os": "debian", + "version": "13" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/install/nodecast-tv-install.sh b/install/nodecast-tv-install.sh index a378deeb3..cc5a2c133 100644 --- a/install/nodecast-tv-install.sh +++ b/install/nodecast-tv-install.sh @@ -3,7 +3,7 @@ # Copyright (c) 2021-2026 community-scripts ORG # Author: luismco # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/ThePhaseless/Byparr +# Source: https://github.com/technomancer702/nodecast-tv source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color From 30820a0ced9fbdde7db5f97e314afb7f04ece34e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Oliveira?= Date: Wed, 14 Jan 2026 13:36:11 +0000 Subject: [PATCH 07/11] app name corrected --- ct/{nodecasttv.sh => nodecast-tv.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename ct/{nodecasttv.sh => nodecast-tv.sh} (100%) diff --git a/ct/nodecasttv.sh b/ct/nodecast-tv.sh similarity index 100% rename from ct/nodecasttv.sh rename to ct/nodecast-tv.sh From 564a39b187151342f2ff15ab9969bf6580063221 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Oliveira?= Date: Wed, 14 Jan 2026 13:43:16 +0000 Subject: [PATCH 08/11] Ready for PR --- ct/nodecast-tv.sh | 2 +- install/nodecast-tv-install.sh | 1 + misc/build.func | 6 +++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ct/nodecast-tv.sh b/ct/nodecast-tv.sh index 8d03609e0..b05c6bceb 100644 --- a/ct/nodecast-tv.sh +++ b/ct/nodecast-tv.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/luismco/ProxmoxVED/refs/heads/nodecast-tv/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2026 community-scripts ORG # Author: luismco # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/nodecast-tv-install.sh b/install/nodecast-tv-install.sh index cc5a2c133..018d65ffd 100644 --- a/install/nodecast-tv-install.sh +++ b/install/nodecast-tv-install.sh @@ -15,6 +15,7 @@ update_os fetch_and_deploy_gh_release "nodecast-tv" "technomancer702/nodecast-tv" setup_nodejs + msg_info "Installing Modules" cd /opt/nodecast-tv $STD npm install diff --git a/misc/build.func b/misc/build.func index d58aa9ea6..06923e925 100644 --- a/misc/build.func +++ b/misc/build.func @@ -2828,7 +2828,7 @@ build_container() { pushd "$TEMP_DIR" >/dev/null # Unified install.func automatically detects OS type (debian, alpine, fedora, etc.) - export FUNCTIONS_FILE_PATH="$(curl -fsSL https://raw.githubusercontent.com/luismco/ProxmoxVED/refs/heads/krawl/misc/install.func)" + export FUNCTIONS_FILE_PATH="$(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/install.func)" # Core exports for install.func export DIAGNOSTICS="$DIAGNOSTICS" @@ -3419,7 +3419,7 @@ chmod +x /etc/profile.d/term.sh" || true set +Eeuo pipefail # Disable ALL error handling temporarily trap - ERR # Remove ERR trap completely - lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/luismco/ProxmoxVED/refs/heads/nodecast-tv/install/${var_install}.sh)" + lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/install/${var_install}.sh)" local lxc_exit=$? set -Eeuo pipefail # Re-enable error handling @@ -3506,7 +3506,7 @@ chmod +x /etc/profile.d/term.sh" || true if [[ "${DEV_MODE_MOTD:-false}" == "true" ]]; then echo -e "${TAB}${HOLD}${DGN}Setting up MOTD and SSH for debugging...${CL}" if pct exec "$CTID" -- bash -c " - source <(curl -fsSL https://raw.githubusercontent.com/luismco/ProxmoxVED/refs/heads/krawl/misc/install.func) + source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/install.func) declare -f motd_ssh >/dev/null 2>&1 && motd_ssh || true " >/dev/null 2>&1; then local ct_ip=$(pct exec "$CTID" ip a s dev eth0 2>/dev/null | awk '/inet / {print $2}' | cut -d/ -f1) From ad535a36c4929805df1dca4c25bbca9d6939c873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Oliveira?= <48201890+luismco@users.noreply.github.com> Date: Wed, 14 Jan 2026 13:52:37 +0000 Subject: [PATCH 09/11] Update nodecast-tv.sh --- ct/nodecast-tv.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ct/nodecast-tv.sh b/ct/nodecast-tv.sh index b05c6bceb..93d3ade53 100644 --- a/ct/nodecast-tv.sh +++ b/ct/nodecast-tv.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) # Copyright (c) 2021-2026 community-scripts ORG # Author: luismco # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE From 1d14e06df870f082e2b957c9d66194d33cc31b52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Oliveira?= <48201890+luismco@users.noreply.github.com> Date: Wed, 14 Jan 2026 13:58:21 +0000 Subject: [PATCH 10/11] Update install/nodecast-tv-install.sh Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --- install/nodecast-tv-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/nodecast-tv-install.sh b/install/nodecast-tv-install.sh index 018d65ffd..a9d2e3a7b 100644 --- a/install/nodecast-tv-install.sh +++ b/install/nodecast-tv-install.sh @@ -2,7 +2,7 @@ # Copyright (c) 2021-2026 community-scripts ORG # Author: luismco -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE # Source: https://github.com/technomancer702/nodecast-tv source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" From 1b89135867ac81965c3a871465f607fffbccdd0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Oliveira?= <48201890+luismco@users.noreply.github.com> Date: Wed, 14 Jan 2026 13:58:28 +0000 Subject: [PATCH 11/11] Update ct/nodecast-tv.sh Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --- ct/nodecast-tv.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ct/nodecast-tv.sh b/ct/nodecast-tv.sh index 93d3ade53..202e65ecc 100644 --- a/ct/nodecast-tv.sh +++ b/ct/nodecast-tv.sh @@ -2,7 +2,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) # Copyright (c) 2021-2026 community-scripts ORG # Author: luismco -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE # Source: https://github.com/technomancer702/nodecast-tv APP="nodecast-tv"