#!/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"