2023-03-22 20:48:20 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								#!/usr/bin/env bash
 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-02 08:48:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								source  <( curl -s 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" 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 13:31:48 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								var_tags = "monitoring;crawler" 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-30 11:52:17 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								var_cpu = "2" 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-30 11:58:33 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								var_ram = "1024" 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								var_disk = "8" 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-22 20:48:20 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								var_os = "debian" 
							 
						 
					
						
							
								
									
										
										
										
											2023-10-24 23:05:44 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								var_version = "12" 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								var_unprivileged = "1" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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" 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    apt-get update
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    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 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  msg_info " Updating  ${ APP } " 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  pip3 install changedetection.io --upgrade & >/dev/null
							 
						 
					
						
							
								
									
										
										
										
											2024-12-26 21:34:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  msg_ok " Updated  ${ APP } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  msg_info "Updating Playwright" 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  pip3 install playwright --upgrade & >/dev/null
							 
						 
					
						
							
								
									
										
										
										
											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)" 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-16 12:42:51 +01: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 21:34:33 +01: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 12:42:51 +01: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 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 } " 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-26 21:34:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								echo  -e " ${ TAB } ${ GATEWAY } ${ BGN } http:// ${ IP } :5000 ${ CL } "