#!/bin/bash # Script to deploy LGSM with customized configuration # Exit immediately if a command exits with a non-zero status set -e # Directory variables CURRENT_DIR="${PWD}" VOLUMES_DIR="${CURRENT_DIR}/volumes" TEMP_DIR="$(mktemp -d ./temp.XXXXXX)" # Combined Git clone command GIT_COMMAND="sudo git clone -b funmaps ssh://git@git.zinomedia.de:222/zino/lgsm-csserver.git ${TEMP_DIR}" # Function to display [INFO] in blue and the message in default color info() { printf "\033[0;34m[INFO]\033[0m %s\n" "$1" } # Function to clone and merge configuration repository clone_and_merge_config() { info "Cloning configuration repository to ${TEMP_DIR}..." ${GIT_COMMAND} info "Merging configuration from ${TEMP_DIR} to ${VOLUMES_DIR}..." sudo rsync -a "${TEMP_DIR}/" "${VOLUMES_DIR}/" info "Removing configuration repository from ${TEMP_DIR}..." sudo rm -rf "${TEMP_DIR}" } # Main deployment process info "Stopping Docker container..." docker-compose down clone_and_merge_config info "Starting Docker container with customized configuration..." docker-compose up -d info "Deployment completed successfully."