From 5e2c5a104ee8c278ac61317ad55115e66e09a8d5 Mon Sep 17 00:00:00 2001 From: zino Date: Thu, 23 Nov 2023 14:42:08 +0100 Subject: [PATCH] modified --- deploy_funmaps.sh | 53 ++++++++++++++++++++++++++--------------------- fix_gcc.sh | 34 ++++++++++++++---------------- 2 files changed, 44 insertions(+), 43 deletions(-) diff --git a/deploy_funmaps.sh b/deploy_funmaps.sh index 78306a3..8c3fb4a 100644 --- a/deploy_funmaps.sh +++ b/deploy_funmaps.sh @@ -1,37 +1,42 @@ #!/bin/bash -# Set the container name -CONTAINER_NAME="lgsm-cs" +# 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-cs.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 check if the container is running -is_container_running() { - [ "$(docker-compose ps -q ${CONTAINER_NAME} | xargs docker inspect -f '{{.State.Status}}' 2>/dev/null)" = "running" ] +# 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}" } -# Function to execute commands in the container -execute_in_container() { - info "Executing command in container: $1" - docker-compose exec -T "${CONTAINER_NAME}" sh -c "$1" -} +# Main deployment process +info "Stopping Docker container..." +docker-compose down -# Check if the container is running -if ! is_container_running; then - info "Warning: Container ${CONTAINER_NAME} is not running. Please start the container and rerun the script." - exit 1 -fi +clone_and_merge_config -# Container is confirmed to be running, proceed with script operations +info "Starting Docker container with customized configuration..." +docker-compose up -d -# Moving and copying libstdc++.so.6 -execute_in_container "mv /data/serverfiles/libstdc++.so.6 /data/serverfiles/libstdc++.so.6.bak && cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /data/serverfiles/" -execute_in_container "mv /data/.local/share/Steam/steamcmd/linux32/libstdc++.so.6 /data/.local/share/Steam/steamcmd/linux32/libstdc++.so.6.bak && cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /data/.local/share/Steam/steamcmd/linux32/" - -# Moving and copying libgcc_s.so.1 -execute_in_container "mv /data/serverfiles/libgcc_s.so.1 /data/serverfiles/libgcc_s.so.1.bak && cp /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 /data/serverfiles/" - -info "Script operations completed successfully." +info "Deployment completed successfully." diff --git a/fix_gcc.sh b/fix_gcc.sh index b8f9900..78306a3 100644 --- a/fix_gcc.sh +++ b/fix_gcc.sh @@ -1,33 +1,31 @@ #!/bin/bash -# Set the service name as defined in docker-compose.yml -SERVICE_NAME="correct-service-name" # Replace with your actual service name +# Set the container name +CONTAINER_NAME="lgsm-cs" + +# 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 check if the container is running is_container_running() { - [ "$(docker-compose ps -q ${SERVICE_NAME} | xargs docker inspect -f '{{.State.Status}}' 2>/dev/null)" = "running" ] + [ "$(docker-compose ps -q ${CONTAINER_NAME} | xargs docker inspect -f '{{.State.Status}}' 2>/dev/null)" = "running" ] } # Function to execute commands in the container execute_in_container() { - echo "Executing command in container: $1" - docker-compose exec -T "${SERVICE_NAME}" sh -c "$1" + info "Executing command in container: $1" + docker-compose exec -T "${CONTAINER_NAME}" sh -c "$1" } -# Start all services using docker-compose, if not already running +# Check if the container is running if ! is_container_running; then - echo "Starting all services defined in docker-compose.yml..." - docker-compose up -d -else - echo "Service ${SERVICE_NAME} is already running." + info "Warning: Container ${CONTAINER_NAME} is not running. Please start the container and rerun the script." + exit 1 fi -# Wait for the specific container to be fully up and running -echo "Waiting for service ${SERVICE_NAME} to be fully up and running..." -while ! is_container_running; do - sleep 1 -done -echo "Service ${SERVICE_NAME} is now up." +# Container is confirmed to be running, proceed with script operations # Moving and copying libstdc++.so.6 execute_in_container "mv /data/serverfiles/libstdc++.so.6 /data/serverfiles/libstdc++.so.6.bak && cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /data/serverfiles/" @@ -36,6 +34,4 @@ execute_in_container "mv /data/.local/share/Steam/steamcmd/linux32/libstdc++.so. # Moving and copying libgcc_s.so.1 execute_in_container "mv /data/serverfiles/libgcc_s.so.1 /data/serverfiles/libgcc_s.so.1.bak && cp /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 /data/serverfiles/" -# Shutdown the specific service after the fixes -echo "Shutting down the service ${SERVICE_NAME}..." -docker-compose stop "${SERVICE_NAME}" +info "Script operations completed successfully."