2023-03-22 20:48:20 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								#!/usr/bin/env bash
 
							 
						 
					
						
							
								
									
										
										
										
											2025-04-01 10:25:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								source  <( curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) 
							 
						 
					
						
							
								
									
										
										
										
											2025-01-01 13:37:29 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# Copyright (c) 2021-2025 tteck 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-22 20:48:20 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								# Author: tteck (tteckster) 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# Source: https://changedetection.io/ 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-22 20:48:20 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								APP = "Change Detection" 
							 
						 
					
						
							
								
									
										
										
										
											2025-04-10 11:56:52 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								var_tags = " ${ var_tags :- monitoring ;crawler } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								var_cpu = " ${ var_cpu :- 2 } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								var_ram = " ${ var_ram :- 2048 } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								var_disk = " ${ var_disk :- 10 } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								var_os = " ${ var_os :- debian } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								var_version = " ${ var_version :- 12 } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								var_unprivileged = " ${ var_unprivileged :- 1 } " 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								header_info " $APP " 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-22 20:48:20 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								variables
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								color
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								catch_errors
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								function  update_script( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  header_info
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  check_container_storage
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  check_container_resources
							 
						 
					
						
							
								
									
										
										
										
											2024-12-26 21:34:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  [ [  ! -f /etc/systemd/system/changedetection.service ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_error " No  ${ APP }  Installation Found! " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-26 21:34:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ! dpkg -s libjpeg-dev >/dev/null 2>& 1;  then 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-26 21:34:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    msg_info "Installing Dependencies" 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-24 12:49:16 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    $STD  apt-get update
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $STD  apt-get install -y libjpeg-dev
							 
						 
					
						
							
								
									
										
										
										
											2024-12-26 21:34:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    msg_ok "Updated Dependencies" 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-26 21:34:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-09-30 14:16:27 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  NODE_VERSION = "24"  setup_nodejs
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-12-26 21:34:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  msg_info " Updating  ${ APP } " 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-24 12:49:16 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  $STD  pip3 install changedetection.io --upgrade
							 
						 
					
						
							
								
									
										
										
										
											2024-12-26 21:34:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  msg_ok " Updated  ${ APP } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  msg_info "Updating Playwright" 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-24 12:49:16 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  $STD  pip3 install playwright --upgrade
							 
						 
					
						
							
								
									
										
										
										
											2024-12-26 21:34:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  msg_ok "Updated Playwright" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  [ [  -f /etc/systemd/system/browserless.service ] ] ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-26 21:34:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    msg_info "Updating Browserless (Patience)" 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-24 12:49:16 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    $STD  git -C /opt/browserless/ fetch --all
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $STD  git -C /opt/browserless/ reset --hard origin/main
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $STD  npm update --prefix /opt/browserless
							 
						 
					
						
							
								
									
										
										
										
											2025-09-30 18:19:01 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    $STD  npm ci --include= optional --include= dev --prefix /opt/browserless
							 
						 
					
						
							
								
									
										
										
										
											2025-02-24 12:49:16 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    $STD  /opt/browserless/node_modules/playwright-core/cli.js install --with-deps
							 
						 
					
						
							
								
									
										
										
										
											2024-12-26 21:34:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    # 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. 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-24 12:49:16 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    $STD  /opt/browserless/node_modules/playwright-core/cli.js install --force chrome
							 
						 
					
						
							
								
									
										
										
										
											2025-06-23 09:07:49 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    $STD  /opt/browserless/node_modules/playwright-core/cli.js install --force msedge
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $STD  /opt/browserless/node_modules/playwright-core/cli.js install chromium firefox webkit
							 
						 
					
						
							
								
									
										
										
										
											2025-10-19 22:05:27 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    $STD  npm install --prefix /opt/browserless esbuild typescript ts-node @types/node --save-dev
							 
						 
					
						
							
								
									
										
										
										
											2025-02-24 12:49:16 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    $STD  npm run build --prefix /opt/browserless
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $STD  npm run build:function --prefix /opt/browserless
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $STD  npm prune production --prefix /opt/browserless
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    systemctl restart browserless
							 
						 
					
						
							
								
									
										
										
										
											2024-12-26 21:34:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    msg_ok "Updated Browserless" 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_error "No Browserless Installation Found!" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-26 21:34:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  systemctl restart changedetection
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  msg_ok "Updated Successfully" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  exit 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-22 20:48:20 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								start
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								build_container
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								description
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								msg_ok "Completed Successfully!\n" 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								echo  -e " ${ CREATING } ${ GN } ${ APP }  setup has been successfully initialized! ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								echo  -e " ${ INFO } ${ YW }  Access it using the following URL: ${ CL } " 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 07:42:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								echo  -e " ${ TAB } ${ GATEWAY } ${ BGN } http:// ${ IP } :5000 ${ CL } "