#!/bin/bash # Set the service name as defined in docker-compose.yml SERVICE_NAME="correct-service-name" # Replace with your actual service name # 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" ] } # 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" } # Start all services using docker-compose, if not already 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." 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." # 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/" # Shutdown the specific service after the fixes echo "Shutting down the service ${SERVICE_NAME}..." docker-compose stop "${SERVICE_NAME}"