#!/bin/bash # Source common functions source "$(dirname "$0")/_dockerhelper.sh" source "$(dirname "$0")/_common.sh" # Load environment variables load_env "$1" || exit 1 # Test Docker if ! _check_docker_installed; then echo "Docker test failed, aborting installation..." exit 1 fi function create_folder() { local folder="$1" if ! mkdir -p "$folder"; then die "Failed to create folder: $folder" fi } # Create deploy and data folders echo "Ensuring deployment folders exist..." create_folder "$DEPLOY_FOLDER" create_folder "$DATA_FOLDER" # check can pull image on remote host and exit if fails if ! docker pull "$IMAGE_REGISTRY/$IMAGE_REPO:$IMAGE_TAG"; then echo "Failed to pull image $IMAGE_REGISTRY/$IMAGE_REPO:$IMAGE_TAG" exit 1 fi echo "Successfully pulled the docker image from the registry" # remove and restart, as the env may have changed. _stop_container $CONTAINER_NAME || die "Failed to stop container ${CONTAINER_NAME}" _remove_container $CONTAINER_NAME || die "Failed to remove container ${CONTAINER_NAME}" create_and_start_container || die "Failed to start container ${CONTAINER_NAME}" echo "Installation complete"