2023-03-23 00:48:20 +00:00
#!/usr/bin/env bash
2024-11-02 07:48:05 +00:00
source <( curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
2025-01-01 12:37:29 +00:00
# Copyright (c) 2021-2025 tteck
2023-03-23 00:48:20 +00:00
# Author: tteck (tteckster)
2024-12-16 11:42:51 +00:00
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://changedetection.io/
2023-03-23 00:48:20 +00:00
2024-12-16 11:42:51 +00:00
# App Default Values
2023-03-23 00:48:20 +00:00
APP = "Change Detection"
2024-12-16 12:31:48 +00:00
var_tags = "monitoring;crawler"
2023-05-30 15:52:17 +00:00
var_cpu = "2"
2023-05-30 15:58:33 +00:00
var_ram = "1024"
2024-12-16 11:42:51 +00:00
var_disk = "8"
2023-03-23 00:48:20 +00:00
var_os = "debian"
2023-10-25 03:05:44 +00:00
var_version = "12"
2024-12-16 11:42:51 +00:00
var_unprivileged = "1"
# App Output & Base Settings
header_info " $APP "
base_settings
# Core
2023-03-23 00:48:20 +00:00
variables
color
catch_errors
function update_script( ) {
2024-12-16 11:42:51 +00:00
header_info
check_container_storage
check_container_resources
2024-12-26 20:34:33 +00:00
2024-12-16 11:42:51 +00:00
if [ [ ! -f /etc/systemd/system/changedetection.service ] ] ; then
msg_error " No ${ APP } Installation Found! "
exit
fi
2024-12-26 20:34:33 +00:00
2024-12-16 11:42:51 +00:00
if ! dpkg -s libjpeg-dev >/dev/null 2>& 1; then
2024-12-26 20:34:33 +00:00
msg_info "Installing Dependencies"
2024-12-16 11:42:51 +00:00
apt-get update
apt-get install -y libjpeg-dev
2024-12-26 20:34:33 +00:00
msg_ok "Updated Dependencies"
2024-12-16 11:42:51 +00:00
fi
2024-12-26 20:34:33 +00:00
msg_info " Updating ${ APP } "
2024-12-16 11:42:51 +00:00
pip3 install changedetection.io --upgrade & >/dev/null
2024-12-26 20:34:33 +00:00
msg_ok " Updated ${ APP } "
msg_info "Updating Playwright"
2024-12-16 11:42:51 +00:00
pip3 install playwright --upgrade & >/dev/null
2024-12-26 20:34:33 +00:00
msg_ok "Updated Playwright"
2024-12-16 11:42:51 +00:00
if [ [ -f /etc/systemd/system/browserless.service ] ] ; then
2024-12-26 20:34:33 +00:00
msg_info "Updating Browserless (Patience)"
2024-12-16 11:42:51 +00:00
git -C /opt/browserless/ fetch --all & >/dev/null
git -C /opt/browserless/ reset --hard origin/main & >/dev/null
npm update --prefix /opt/browserless & >/dev/null
2024-12-26 20:34:33 +00:00
/opt/browserless/node_modules/playwright-core/cli.js install --with-deps & >/dev/null
# Update Chrome separately, as it has to be done with the force option. Otherwise the installation of other browsers will not be done if Chrome is already installed.
/opt/browserless/node_modules/playwright-core/cli.js install --force chrome & >/dev/null
/opt/browserless/node_modules/playwright-core/cli.js install chromium firefox webkit & >/dev/null
2024-12-16 11:42:51 +00:00
npm run build --prefix /opt/browserless & >/dev/null
npm run build:function --prefix /opt/browserless & >/dev/null
npm prune production --prefix /opt/browserless & >/dev/null
systemctl restart browserless
2024-12-26 20:34:33 +00:00
msg_ok "Updated Browserless"
2024-12-16 11:42:51 +00:00
else
msg_error "No Browserless Installation Found!"
fi
2024-12-26 20:34:33 +00:00
2024-12-16 11:42:51 +00:00
systemctl restart changedetection
msg_ok "Updated Successfully"
exit
2023-03-23 00:48:20 +00:00
}
start
build_container
description
msg_ok "Completed Successfully!\n"
2024-12-16 11:42:51 +00:00
echo -e " ${ CREATING } ${ GN } ${ APP } setup has been successfully initialized! ${ CL } "
echo -e " ${ INFO } ${ YW } Access it using the following URL: ${ CL } "
2024-12-26 20:34:33 +00:00
echo -e " ${ TAB } ${ GATEWAY } ${ BGN } http:// ${ IP } :5000 ${ CL } "