43 lines
1.2 KiB
Bash
43 lines
1.2 KiB
Bash
#!/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"
|
|
CONFIG_REPO_DIR="$(mktemp -d)"
|
|
|
|
# Combined Git clone command
|
|
GIT_COMMAND="sudo git clone -b funmaps ssh://git@git.zinomedia.de:222/zino/lgsm-csserver.git ${CONFIG_REPO_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 ${CONFIG_REPO_DIR}..."
|
|
${GIT_COMMAND}
|
|
|
|
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."
|