70 lines
1.8 KiB
Bash
Executable File
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"
|