From 9cbcf4435a79c7dee9512a5d1b66683d7657c157 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 8 Jul 2025 17:21:46 +0200 Subject: [PATCH] Refactor: ErsatzTV (#5835) --- ct/ersatztv.sh | 21 ++++----------------- frontend/public/json/ersatztv.json | 2 +- install/ersatztv-install.sh | 25 ++++--------------------- 3 files changed, 9 insertions(+), 39 deletions(-) diff --git a/ct/ersatztv.sh b/ct/ersatztv.sh index 562eb5722..e11739826 100644 --- a/ct/ersatztv.sh +++ b/ct/ersatztv.sh @@ -7,7 +7,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV APP="ErsatzTV" var_tags="${var_tags:-iptv}" -var_cpu="${var_cpu:-1}" +var_cpu="${var_cpu:-2}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-5}" var_os="${var_os:-debian}" @@ -27,31 +27,18 @@ function update_script() { exit fi RELEASE=$(curl -fsSL https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1) - if [[ ! -f /opt/${APP}_version.txt && $(echo "x.x.x" >/opt/${APP}_version.txt) || "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if [[ "${RELEASE}" != "$(cat ~/.ersatztv 2>/dev/null)" ]] || [[ ! -f ~/.ersatztv ]]; then msg_info "Stopping ErsatzTV" systemctl stop ersatzTV msg_ok "Stopped ErsatzTV" - msg_info "Updating ErsatzTV" - cp -R /opt/ErsatzTV/ ErsatzTV-backup - rm ErsatzTV-backup/ErsatzTV - rm -rf /opt/ErsatzTV - temp_file=$(mktemp) - curl -fsSL "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" -o "$temp_file" - tar -xzf "$temp_file" - mv ErsatzTV-${RELEASE}-linux-x64 /opt/ErsatzTV - cp -R ErsatzTV-backup/* /opt/ErsatzTV/ - rm -rf ErsatzTV-backup - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ErsatzTV" + FFMPEG_VERSION="latest" FFMPEG_TYPE="medium" setup_ffmpeg + fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-x64.tar.gz" msg_info "Starting ErsatzTV" systemctl start ersatzTV msg_ok "Started ErsatzTV" - msg_info "Cleaning Up" - rm -f ${temp_file} - msg_ok "Cleaned" msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} is already at ${RELEASE}" diff --git a/frontend/public/json/ersatztv.json b/frontend/public/json/ersatztv.json index 099821048..4924e6a6b 100644 --- a/frontend/public/json/ersatztv.json +++ b/frontend/public/json/ersatztv.json @@ -19,7 +19,7 @@ "type": "default", "script": "ct/ersatztv.sh", "resources": { - "cpu": 1, + "cpu": 2, "ram": 1024, "hdd": 5, "os": "debian", diff --git a/install/ersatztv-install.sh b/install/ersatztv-install.sh index 2d7f2bb24..eb0cc2f6a 100644 --- a/install/ersatztv-install.sh +++ b/install/ersatztv-install.sh @@ -13,15 +13,7 @@ setting_up_container network_check update_os -msg_info "Installing FFmpeg (Patience)" -cd /usr/local/bin -curl -fsSL "https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz" -o "ffmpeg-release-amd64-static.tar.xz" -$STD tar -xvf ffmpeg-release-amd64-static.tar.xz -rm -f ffmpeg-*.tar.xz -cd ffmpeg-* -mv ffmpeg ffprobe /usr/local/bin/ -rm -rf /usr/local/bin/ffmpeg-* -msg_ok "Installed FFmpeg" +FFMPEG_VERSION="latest" FFMPEG_TYPE="medium" setup_ffmpeg msg_info "Setting Up Hardware Acceleration" $STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools} @@ -34,15 +26,7 @@ if [[ "$CTTYPE" == "0" ]]; then fi msg_ok "Set Up Hardware Acceleration" -msg_info "Installing ErsatzTV" -temp_file=$(mktemp) -cd /opt -RELEASE=$(curl -fsSL https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1) -curl -fsSL "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" -o "$temp_file" -tar -xzf "$temp_file" -mv /opt/ErsatzTV-${RELEASE}-linux-x64 /opt/ErsatzTV -echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -msg_ok "Installed ErsatzTV" +fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-x64.tar.gz" msg_info "Creating Service" cat </etc/systemd/system/ersatzTV.service @@ -53,8 +37,8 @@ After=multi-user.target [Service] Type=simple User=root -WorkingDirectory=/opt/ErsatzTV -ExecStart=/opt/ErsatzTV/ErsatzTV +WorkingDirectory=/opt/ErsatzTV +ExecStart=/opt/ErsatzTV/ErsatzTV Restart=always RestartSec=30 @@ -68,7 +52,6 @@ motd_ssh customize msg_info "Cleaning up" -rm -f ${temp_file} $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned"