[vc_row][vc_column width=”1/6″][/vc_column][vc_column width=”2/3″][vc_column_text][alert title=”Release” style=”grey”]This is an archive article – There is a newer release[/alert]
This is a very large update that has been a complete rewrite to the core application package system. There are many fixes and exciting adjustments that will help stage additional functionality to future versions.
IMPORTANT NOTICE ABOUT THIS UPDATE: This update contains a massive overhaul to the core application delivery method. It not only alters how the apps are built, it additionally consists of moving logs to the database. The System Response output is now fed through the database, thus making php timeouts a non-issue on installing applications. With this comes some pains it would seem. The updater may be blank during your update, give it about 2 minutes (just to be on the safe side) to be blank/update in the background, then do a refresh of your browser. You will see that you are now on the current version. Some users are experiencing issues wherein the System Response table is not being built, if you are one of those users, please follow the instructions below.
				IMPORTANT NOTICE ABOUT THIS UPDATE: This update contains a massive overhaul to the core application delivery method. It not only alters how the apps are built, it additionally consists of moving logs to the database. The System Response output is now fed through the database, thus making php timeouts a non-issue on installing applications. With this comes some pains it would seem. The updater may be blank during your update, give it about 2 minutes (just to be on the safe side) to be blank/update in the background, then do a refresh of your browser. You will see that you are now on the current version. Some users are experiencing issues wherein the System Response table is not being built, if you are one of those users, please follow the instructions below.
But first, the updater has been retooled. Let’s summarize all this into one easy solution.
In the command below, just copy and paste it in your shell as root. You can dosudo su to become root. Also, if your database is named something other than qbpro_db1, you’ll need to change that in the command below.
cd /root
wget https://lab.quickbox.io/QuickBox/Pro/raw/master/bin/updateQuickBox
chmod +x updateQuickBox
database=qbpro_db1
sudo mysql -sN ${database} <<<"UPDATE configuration SET config_value = 'v0.6.4' WHERE configuration.config_name = 'Version';"./updateQuickBoxThe long end of things…
First, grab your database connection fields in/root/.quickbox/db_access_file The fields will be like the following:
dbuser=USERNAME
dbpass=PASSWORD
dbpasswd=PASSWORD
database=DATABASEdbuser= etc.
dbuser=
dbpass=
dbpasswd=
database=
db=${database};
  table=system_response;
  col=app_log;
  colrunner=$(mysql -N -s -u ${dbuser} -p${dbpass} ${db} <<<"select ${col} from ${table} where ${col}='1';");
  if [ "$colrunner" == 'app_log' ]; then
    echo "'System Response' Table exists! ..."
  else
    sudo mysql -sN -h localhost -u ${dbuser} -p${dbpass} ${database} <<<"CREATE TABLE ${table} ( ${col} VARCHAR(800) CHARACTER SET utf8 COLLATE utf8_general_ci NULL , PRIMARY KEY (${col}(800))) ENGINE = InnoDB;"
  fiadmin=USERNAME with your own username.
admin=USERNAME
app_array='btsync couchpotato emby flood headphones jackett lidarr medusa nextcloud novnc
  nzbget nzbhydra ombi plex pyload quassel radarr rapidleech sabnzbd sickgear sickrage sonarr
  subsonic syncthing tautulli transmission'
  for app in $app_array; do
    if [[ -f /install/.$app.lock ]]; then
      mv /install/.$app.lock /install/.$admin.$app.lock
    fi
  doneTo update your sudoers file:
cat > /etc/sudoers.d/dashboard <<SUD
#secure_path="/bin/su:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin/quickbox/*:/etc/QuickBox/*"
#
#Defaults  env_keep -="HOME"
# Host alias specification
# User alias specification
# Cmnd alias specification
Cmnd_Alias   CLEANMEM = /usr/local/bin/quickbox/system/clean_mem
Cmnd_Alias   CLEANLOG = /usr/local/bin/quickbox/system/clean_log
Cmnd_Alias   SYSCMNDS = /usr/local/bin/quickbox/system/*, /usr/local/bin/quickbox/system, /usr/local/bin/quickbox/system/theme/*, /usr/local/bin/quickbox/system/lang/*, /usr/local/bin/quickbox/system/updateQuickBox, /usr/local/bin/quickbox/system/updateNotice
Cmnd_Alias   PKGCMNDS = /usr/local/bin/quickbox/apps/*, /usr/local/bin/quickbox/apps
Cmnd_Alias   PLUGINCMNDS = /usr/local/bin/quickbox/apps/extras/rutorrent/plugins/install/installplugin-*, /usr/local/bin/quickbox/apps/extras/rutorrent/plugins/remove/removeplugin-*
Cmnd_Alias   GENERALCMNDS = /usr/sbin/repquota, /bin/systemctl, /root/acme.sh/acme.sh, /root/.my.cnf, /usr/sbin/service php7.2-fpm reload, /usr/sbin/service php7.2-fpm restart, /usr/bin/mysql, /sbin/ip route get 8.8.8.8
www-data     ALL = (ALL) NOPASSWD: CLEANMEM, CLEANLOG, SYSCMNDS, PKGCMNDS, PLUGINCMNDS, GENERALCMNDS
SUD
  
cat > /etc/sudoers.d/secure_path <<SSP
Defaults    secure_path = /bin/su:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin/quickbox/*:/usr/local/bin/quickbox/apps/*:/usr/local/bin/quickbox/system/*:/usr/local/bin/quickbox/apps/extras/rutorrent/plugins/install:/usr/local/bin/quickbox/apps/extras/rutorrent/plugins/remove
SSPTo update your dashboard:
QB_SETUP=/etc/QuickBox/setup/
local_setup=/etc/QuickBox/setup/
local_rtplugins=/usr/local/bin/quickbox/bin/apps/extras/rutorrent/plugins/
local_dashboard=/etc/QuickBox/dashboard/
local_themes=/etc/QuickBox/dashboard/themes/
quickbox=/srv/quickbox/
rutorrent=/srv/rutorrent/
usrbin=/usr/local/bin/
cd ${quickbox}
  rm -rf /srv/quickbox/db/.smoked.lock
  rm -rf /srv/quickbox/db/.defaulted.lock
  if [[ -f /srv/quickbox/db/.theme_smoked.lock ]]; then
    rm -rf /srv/quickbox/db/theme_defaulted.lock
    rsync -aP --exclude=branding-l.php --exclude=share.php --exclude=custom.menu.php --exclude=output.log --exclude=url.override.php --exclude=custom.css --exclude=constants.php --exclude=install --exclude=lib/nav ${local_dashboard}* ${quickbox}
    rsync -aP ${local_themes}smoked/* ${quickbox}
    \cp -fR  ${local_themes}smoked/js/plugins/ajaxDataCharts/* js/plugins/ajaxDataCharts
    \cp -fR  ${local_themes}smoked/js/plugins/gauge/* js/plugins/gauge
    sed -i -r 's/theme_defaulted.css/theme_smoked.css/g' /srv/quickbox/dash_header.php
    elif [[ -f /srv/quickbox/db/.theme_defaulted.lock ]]; then
    rm -rf /srv/quickbox/db/.theme_smoked.lock
    rsync -aP --exclude=branding-l.php --exclude=share.php --exclude=custom.menu.php --exclude=output.log --exclude=url.override.php --exclude=custom.css --exclude=constants.php --exclude=install --exclude=lib/nav ${local_dashboard}* ${quickbox}
    rsync -aP ${local_themes}defaulted/* ${quickbox}
    \cp -fR  ${local_themes}defaulted/js/plugins/ajaxDataCharts/* js/plugins/ajaxDataCharts
    \cp -fR  ${local_themes}defaulted/js/plugins/gauge/* js/plugins/gauge
    sed -i -r 's/theme_smoked.css/theme_defaulted.css/g' /srv/quickbox/dash_header.php
  fi
find /usr/local/bin/quickbox -type f -exec chmod 755 {} \;
  chmod +x $(find /usr/local/bin/quickbox -type f) >/dev/null 2>&1
  chown www-data:www-data -R /srv/quickbox
  chmod 755 /srv/quickbox
  chgrp -R www-data /srv/quickbox
  chmod -R g+rw /srv/quickbox
  find /srv/quickbox -type d -exec chmod 755 {} +
  find /srv/quickbox -type f -exec chmod 664 {} +
  sh -c 'find /srv/quickbox/* -type d -print0 | sudo xargs -0 chmod g+s'

 
							







 
											 
											 
											