Files
lgsm-csserver/deploy_funmaps.sh
2023-11-20 18:44:07 +01:00

46 lines
1.2 KiB
Bash

#!/bin/bash
# Exit immediately if a command exits with a non-zero status.
set -e
# Paths configuration
CURRENT_DIR="${PWD}"
VOLUMES_DIR="${CURRENT_DIR}/volumes"
CONFIG_REPO_DIR="/opt/docker/lgsm-cs-funmaps-addon"
# Function to display [INFO] in blue and the message in default color
info() {
printf "\033[0;34m[INFO]\033[0m %s\n" "$1"
}
# Update script from Git repository
info "Checking for updates in Git repository..."
git fetch
LOCAL=$(git rev-parse @)
REMOTE=$(git rev-parse @{u})
if [ $LOCAL != $REMOTE ]; then
info "Updating deploy script from Git repository..."
git pull
exec "$0" "$@"
exit
fi
info "Stopping Docker container..."
docker-compose down
info "Cloning configuration repository to ${CONFIG_REPO_DIR}..."
sudo git clone ssh://git@git.zinomedia.de:222/zino/lgsm-cs-funmaps-addon.git "${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}"
info "Starting Docker container with customized configuration..."
docker-compose up -d
info "Deployment completed successfully."