modified
This commit is contained in:
@@ -1,37 +1,42 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Set the container name
|
# Script to deploy LGSM with customized configuration
|
||||||
CONTAINER_NAME="lgsm-cs"
|
|
||||||
|
# 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
|
# Function to display [INFO] in blue and the message in default color
|
||||||
info() {
|
info() {
|
||||||
printf "\033[0;34m[INFO]\033[0m %s\n" "$1"
|
printf "\033[0;34m[INFO]\033[0m %s\n" "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Function to check if the container is running
|
# Function to clone and merge configuration repository
|
||||||
is_container_running() {
|
clone_and_merge_config() {
|
||||||
[ "$(docker-compose ps -q ${CONTAINER_NAME} | xargs docker inspect -f '{{.State.Status}}' 2>/dev/null)" = "running" ]
|
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
|
# Main deployment process
|
||||||
execute_in_container() {
|
info "Stopping Docker container..."
|
||||||
info "Executing command in container: $1"
|
docker-compose down
|
||||||
docker-compose exec -T "${CONTAINER_NAME}" sh -c "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check if the container is running
|
clone_and_merge_config
|
||||||
if ! is_container_running; then
|
|
||||||
info "Warning: Container ${CONTAINER_NAME} is not running. Please start the container and rerun the script."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 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
|
info "Deployment completed successfully."
|
||||||
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."
|
|
||||||
|
|||||||
34
fix_gcc.sh
34
fix_gcc.sh
@@ -1,33 +1,31 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Set the service name as defined in docker-compose.yml
|
# Set the container name
|
||||||
SERVICE_NAME="correct-service-name" # Replace with your actual service 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
|
# Function to check if the container is running
|
||||||
is_container_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
|
# Function to execute commands in the container
|
||||||
execute_in_container() {
|
execute_in_container() {
|
||||||
echo "Executing command in container: $1"
|
info "Executing command in container: $1"
|
||||||
docker-compose exec -T "${SERVICE_NAME}" sh -c "$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
|
if ! is_container_running; then
|
||||||
echo "Starting all services defined in docker-compose.yml..."
|
info "Warning: Container ${CONTAINER_NAME} is not running. Please start the container and rerun the script."
|
||||||
docker-compose up -d
|
exit 1
|
||||||
else
|
|
||||||
echo "Service ${SERVICE_NAME} is already running."
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Wait for the specific container to be fully up and running
|
# Container is confirmed to be running, proceed with script operations
|
||||||
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."
|
|
||||||
|
|
||||||
# Moving and copying libstdc++.so.6
|
# 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/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
|
# 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/"
|
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
|
info "Script operations completed successfully."
|
||||||
echo "Shutting down the service ${SERVICE_NAME}..."
|
|
||||||
docker-compose stop "${SERVICE_NAME}"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user