2025-11-02 23:49:54 -08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								#!/usr/bin/env bash
 
							 
						 
					
						
							
								
									
										
										
										
											2025-09-10 13:40:15 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								source  <( curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# Copyright (c) 2021-2025 community-scripts ORG 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# Author: vhsdream 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# Source: https://github.com/gelbphoenix/autocaliweb 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								APP = "Autocaliweb" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								var_tags = " ${ var_tags :- ebooks } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								var_cpu = " ${ var_cpu :- 2 } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								var_ram = " ${ var_ram :- 2048 } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								var_disk = " ${ var_disk :- 6 } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								var_os = " ${ var_os :- debian } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								var_version = " ${ var_version :- 12 } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								var_unprivileged = " ${ var_unprivileged :- 1 } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								header_info " $APP " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								variables
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								color
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								catch_errors
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								function  update_script( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  header_info
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  check_container_storage
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  check_container_resources
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  ! -d /opt/autocaliweb ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_error " No  ${ APP }  Installation Found! " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  setup_uv
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  RELEASE = $( curl -fsSL https://api.github.com/repos/gelbphoenix/autocaliweb/releases/latest |  jq '.tag_name'  |  sed 's/^"v//;s/"$//' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  check_for_gh_release "autocaliweb"  "gelbphoenix/autocaliweb" ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_info "Stopping Services" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    systemctl stop autocaliweb metadata-change-detector acw-ingest-service acw-auto-zipper
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_ok "Stopped Services" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    INSTALL_DIR = "/opt/autocaliweb" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    export  VIRTUAL_ENV = " ${ INSTALL_DIR } /venv " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $STD  tar -cf ~/autocaliweb_bkp.tar " $INSTALL_DIR " /{ metadata_change_logs,dirs.json,.env,scripts/ingest_watcher.sh,scripts/auto_zipper_wrapper.sh,scripts/metadata_change_detector_wrapper.sh} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fetch_and_deploy_gh_release "autocaliweb"  "gelbphoenix/autocaliweb"  "tarball"  "latest"  "/opt/autocaliweb" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_info " Updating  ${ APP } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    cd  " $INSTALL_DIR " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  ! -d " $VIRTUAL_ENV "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      $STD  uv venv " $VIRTUAL_ENV " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $STD  uv sync --all-extras --active
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    cd  " $INSTALL_DIR " /koreader/plugins
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    PLUGIN_DIGEST = " $( find acwsync.koplugin -type f -name "*.lua"  -o -name "*.json"  |  sort |  xargs sha256sum |  sha256sum |  cut -d' '  -f1) " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  " Plugin files digest:  $PLUGIN_DIGEST "  >acwsync.koplugin/${ PLUGIN_DIGEST } .digest
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  " Build date:  $( date) "  >>acwsync.koplugin/${ PLUGIN_DIGEST } .digest
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  "Files included:"  >>acwsync.koplugin/${ PLUGIN_DIGEST } .digest
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $STD  zip -r koplugin.zip acwsync.koplugin/
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    cp -r koplugin.zip " $INSTALL_DIR " /cps/static
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    mkdir -p " $INSTALL_DIR " /metadata_temp
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $STD  tar -xf ~/autocaliweb_bkp.tar --directory /
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    KEPUB_VERSION = " $( /usr/bin/kepubify --version) " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    CALIBRE_RELEASE = " $( curl -s https://api.github.com/repos/kovidgoyal/calibre/releases/latest |  grep -o '"tag_name": "[^"]*'  |  cut -d'"'  -f4) " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  " ${ KEPUB_VERSION #v } "  >" $INSTALL_DIR " /KEPUBIFY_RELEASE
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  " ${ CALIBRE_RELEASE #v } "  >/" $INSTALL_DIR " /CALIBRE_RELEASE
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    sed 's/^/v/'  ~/.autocaliweb >" $INSTALL_DIR " /ACW_RELEASE
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    chown -R acw:acw " $INSTALL_DIR " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rm ~/autocaliweb_bkp.tar
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_ok " Updated  $APP " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_info "Starting Services" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    systemctl start autocaliweb metadata-change-detector acw-ingest-service acw-auto-zipper
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_ok "Started Services" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-10-30 09:24:16 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    msg_ok "Updated successfully!" 
							 
						 
					
						
							
								
									
										
										
										
											2025-09-10 13:40:15 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								start
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								build_container
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 } :8083 ${ CL } "