diff --git a/ab-openldap/ab-openldap-update.sh b/ab-openldap/ab-openldap-update.sh index d7e82d3..fbea7cd 100755 --- a/ab-openldap/ab-openldap-update.sh +++ b/ab-openldap/ab-openldap-update.sh @@ -1,6 +1,6 @@ #!/bin/sh -### update script for ab-openldap utility scripts +### update script for ab-openldap container and utility scripts # version 1.0.0 # script by Asif Bacchus # usage of this script is subject to the license terms found at: @@ -15,6 +15,13 @@ if ! command -v wget > /dev/null 2>&1; then exit 1 fi +# is user root or in the docker group? +if [ ! "$( id -u )" -eq 0 ]; then + if ! id -Gn | grep docker > /dev/null; then + consoleError '1' "You must either be root or in the 'docker' group to pull container updates." + fi +fi + # zero counters updatesAvailable=0 downloadFailed=0 @@ -24,18 +31,32 @@ updateSuccess=0 # reference constants containerName='ab-openldap' -server='https://git.asifbacchus.app/ab-docker/scripts/raw/branch/master/' +containerUpdatePath='docker.asifbacchus.app/ldap/ab-openldap' +server="https://git.asifbacchus.app/ab-docker/scripts/raw/branch/master/$containerName/" checksumFilename='checksums.sha256' # files to update localScriptName='update.sh' -repoScriptName="${containerName}-update.sh" -updateFiles="ab-openldap.sh ab-openldap.params.template ab-openldap-backup.sh ab-openldap-backup.params.template" - -printf "\n*** Updating %s container service scripts ***\n\n" "$containerName" +repoScriptName='update.sh' +updateFiles="" -### download latest checksums +### update container +printf "\n*** Updating %s container and service scripts ***\n\n" "$containerName" + +printf "Updating container:\n" +if ! docker pull "$containerUpdatePath"; then + printf "There was an error updating the container. Try again later.\n\n" + exit 1 +else + "Container updated!\n" +fi + + +### update scripts +printf "Updating %s service scripts\n" "$containerName" + +## download latest checksums printf "Getting latest checksums from ab-git server... " if ! wget --quiet --tries=3 --timeout=10 -N "${server}${checksumFilename}"; then printf "[ERROR]\n" @@ -45,8 +66,7 @@ else printf "[OK]\n" fi - -### check for updates to this script +## check for updates to this script printf "Checking for updates to this script... " repoScriptChecksum=$( grep "$repoScriptName" "$checksumFilename" | grep -o '^\S*' ) localScriptChecksum=$( sha256sum "$localScriptName" | grep -o '^\S*' ) @@ -72,8 +92,7 @@ else fi fi - -### update files +## update files set -- dummy $updateFiles shift for file; do