diff --git a/ct/archivebox.sh b/ct/archivebox.sh index d3289a75d..c8ea7bc79 100644 --- a/ct/archivebox.sh +++ b/ct/archivebox.sh @@ -20,29 +20,38 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/archivebox ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_info "Stopping ${APP}" - systemctl stop archivebox - msg_ok "Stopped ${APP}" - - msg_info "Updating ${APP}" - cd /opt/archivebox/data - pip install --upgrade --ignore-installed archivebox - sudo -u archivebox archivebox init - msg_ok "Updated ${APP}" - - msg_info "Starting ${APP}" - systemctl start archivebox - msg_ok "Started ${APP}" - - msg_ok "Updated Successfully" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/archivebox ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + + NODE_VERSION="22" setup_nodejs + PYTHON_VERSION="3.13" setup_uv + + msg_info "Stopping ArchiveBox" + systemctl stop archivebox + msg_ok "Stopped ArchiveBox" + + msg_info "Upgrading Playwright" + $STD uv pip install playwright --system + $STD playwright install-deps chromium + msg_ok "Upgraded Playwright" + + msg_info "Updating ArchiveBox" + cd /opt/archivebox/data + uv --system pip install --upgrade --ignore-installed archivebox + sudo -u archivebox archivebox init + msg_ok "Updated ArchiveBox" + + msg_info "Starting ArchiveBox" + systemctl start archivebox + msg_ok "Started ArchiveBox" + + msg_ok "Updated Successfully" + exit } start @@ -52,4 +61,4 @@ 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}:8000/admin/login${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000/admin/login${CL}" diff --git a/ct/bazarr.sh b/ct/bazarr.sh index d32aaa520..2d274bb6a 100755 --- a/ct/bazarr.sh +++ b/ct/bazarr.sh @@ -20,20 +20,36 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /var/lib/bazarr/ ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_info "Updating $APP LXC" - $STD apt-get update - $STD apt-get -y upgrade - msg_ok "Updated $APP LXC" + header_info + check_container_storage + check_container_resources + if [[ ! -d /var/lib/bazarr/ ]]; then + msg_error "No ${APP} Installation Found!" exit -} + fi + if ! command -v jq &>/dev/null; then + $STD apt-get install -y jq + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/morpheus65535/bazarr/releases/latest | jq -r '.tag_name' | sed 's/^v//') + if [[ "${RELEASE}" != "$(cat ~/.bazarr 2>/dev/null)" ]] || [[ ! -f ~/.bazarr ]]; then + + PYTHON_VERSION="3.13" setup_uv + fetch_and_deploy_gh_release "bazarr" "morpheus65535/bazarr" "prebuild" "latest" "/opt/bazarr" "bazarr.zip" + + msg_info "Setup Bazarr" + mkdir -p /var/lib/bazarr/ + chmod 775 /opt/bazarr /var/lib/bazarr/ + $STD uv pip install -r /opt/bazarr/requirements.txt --system + msg_ok "Setup Bazarr" + + msg_ok "Update Successful" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" + fi + exit +} start build_container description @@ -41,4 +57,4 @@ 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}:6767${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6767${CL}" diff --git a/frontend/public/json/bazarr.json b/frontend/public/json/bazarr.json index f3eb38db4..2a04bf781 100644 --- a/frontend/public/json/bazarr.json +++ b/frontend/public/json/bazarr.json @@ -6,7 +6,7 @@ ], "date_created": "2024-05-02", "type": "ct", - "updateable": false, + "updateable": true, "privileged": false, "interface_port": 6767, "documentation": "https://wiki.bazarr.media/", diff --git a/install/archivebox-install.sh b/install/archivebox-install.sh index c09ded01e..a6943fa6a 100644 --- a/install/archivebox-install.sh +++ b/install/archivebox-install.sh @@ -27,16 +27,16 @@ msg_ok "Installed Dependencies" msg_info "Installing Python Dependencies" $STD apt-get install -y \ - python3-pip \ python3-ldap \ python3-msgpack \ python3-regex msg_ok "Installed Python Dependencies" NODE_VERSION="22" setup_nodejs +PYTHON_VERSION="3.13" setup_uv msg_info "Installing Playwright" -$STD pip install playwright +$STD uv pip install playwright --system $STD playwright install-deps chromium msg_ok "Installed Playwright" @@ -45,7 +45,7 @@ mkdir -p /opt/archivebox/{data,.npm,.cache,.local} $STD adduser --system --shell /bin/bash --gecos 'Archive Box User' --group --disabled-password --home /home/archivebox archivebox chown -R archivebox:archivebox /opt/archivebox/{data,.npm,.cache,.local} chmod -R 755 /opt/archivebox/data -$STD pip install archivebox +$STD uv pip install archivebox --system cd /opt/archivebox/data expect <