2024-10-10 07:17:10 +02:00

70 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# Specify the image name and tag
IMAGE_NAME="myp-rp"
IMAGE_TAG="latest"
# Specify the input file name for the compressed and uncompressed Docker image
INPUT_FILE="myp-rp_latest.tar"
COMPRESSED_INPUT_FILE="myp-rp_latest.tar.xz"
# Path to the docker directory
DOCKER_DIR="$PWD/docker"
# Path to the compose file
COMPOSE_FILE="$DOCKER_DIR/compose.yml"
# Check if the compressed input file exists
if [ -f "$DOCKER_DIR/$COMPRESSED_INPUT_FILE" ]; then
echo "Found compressed Docker image: $COMPRESSED_INPUT_FILE"
# Decompress the .tar.xz file
echo "Decompressing the Docker image..."
xz -d "$DOCKER_DIR/$COMPRESSED_INPUT_FILE"
# Check if the decompression was successful
if [ $? -ne 0 ]; then
echo "Error occurred while decompressing $COMPRESSED_INPUT_FILE"
exit 1
fi
echo "Decompression completed: $INPUT_FILE"
fi
# Check if the uncompressed input file exists
if [ ! -f "$DOCKER_DIR/$INPUT_FILE" ]; then
echo "Error: $INPUT_FILE not found in $DOCKER_DIR"
exit 1
fi
# Load the Docker image
echo "Loading Docker image from $INPUT_FILE..."
docker load -i "$DOCKER_DIR/$INPUT_FILE"
# Check if the operation was successful
if [ $? -eq 0 ]; then
echo "Image successfully loaded into Docker"
else
echo "Error occurred while loading the image"
exit 1
fi
# Check if the compose file exists
if [ ! -f "$COMPOSE_FILE" ]; then
echo "Error: compose.yml not found in $DOCKER_DIR"
exit 1
fi
# Execute docker compose
echo "Running docker compose..."
docker compose -f "$COMPOSE_FILE" up -d
# Check if the operation was successful
if [ $? -eq 0 ]; then
echo "Docker compose executed successfully"
else
echo "Error occurred while executing docker compose"
exit 1
fi
echo "Process completed successfully"