#!/bin/bash # Script to deploy LGSM with customized configuration # Exit immediately if a command exits with a non-zero status set -e # Git variables GIT_ADDRESS="ssh://git@git.zinomedia.de:222" REPO_NAME="zino/lgsm-cs-funmaps-addon.git" # Directory variables VOLUMES_DIR="${CURRENT_DIR}/volumes" CURRENT_DIR="${PWD}" CONFIG_REPO_DIR="$(mktemp -d)" # 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 ${CONFIG_REPO_DIR}..." sudo git clone ${GIT_ADDRESS}/${REPO_NAME} "${CONFIG_REPO_DIR}" info "Merging configuration from ${CONFIG_REPO_DIR} to ${VOLUMES_DIR}..." sudo rsync -a "${CONFIG_REPO_DIR}/" "${VOLUMES_DIR}/" info "Removing configuration repository from ${CONFIG_REPO_DIR}..." sudo rm -rf "${CONFIG_REPO_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."