diff --git a/.gitattributes b/.gitattributes
index c5e7318..6b8d874 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1 +1 @@
-packages/reservation-platform/docker/myp-rp_latest.tar.xz filter=lfs diff=lfs merge=lfs -text
+packages/reservation-platform/docker/images/*.tar.xz filter=lfs diff=lfs merge=lfs -text
diff --git a/packages/reservation-platform/docker/build.sh b/packages/reservation-platform/docker/build.sh
new file mode 100755
index 0000000..f730656
--- /dev/null
+++ b/packages/reservation-platform/docker/build.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+# Define image name
+MYP_RP_IMAGE_NAME="myp-rp"
+
+# Function to build Docker image
+build_image() {
+    local image_name=$1
+    local dockerfile=$2
+    local platform=$3
+
+    echo "Building $image_name Docker image for $platform..."
+
+    docker buildx build --platform $platform -t ${image_name}:latest -f $dockerfile .
+    if [ $? -eq 0 ]; then
+        echo "$image_name Docker image built successfully"
+    else
+        echo "Error occurred while building $image_name Docker image"
+        exit 1
+    fi
+}
+
+# Create and use a builder instance (if not already created)
+BUILDER_NAME="myp-rp-arm64-builder"
+docker buildx create --name $BUILDER_NAME --use || docker buildx use $BUILDER_NAME
+
+# Build myp-rp image
+build_image "$MYP_RP_IMAGE_NAME" "$PWD/Dockerfile" "linux/arm64"
+
+# Remove the builder instance
+docker buildx rm $BUILDER_NAME
diff --git a/packages/reservation-platform/docker/build_image.sh b/packages/reservation-platform/docker/build_image.sh
deleted file mode 100755
index fe771cb..0000000
--- a/packages/reservation-platform/docker/build_image.sh
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/bin/bash
-
-# Specify the image names and tags
-MYP_RP_IMAGE_NAME="myp-rp"
-MYP_RP_IMAGE_TAG="latest"
-CADDY_IMAGE_NAME="caddy"
-CADDY_IMAGE_TAG="latest"
-
-# Create a new builder instance with a sensible name
-BUILDER_NAME="myp-rp-arm64-builder"
-echo "Creating a new builder instance named $BUILDER_NAME..."
-docker buildx create --name $BUILDER_NAME --use
-
-# Build the myp-rp Docker image from Dockerfile for arm64
-echo "Building myp-rp Docker image from Dockerfile for arm64..."
-docker buildx build --platform linux/arm64 -t ${MYP_RP_IMAGE_NAME}:${MYP_RP_IMAGE_TAG} -f $PWD/Dockerfile $PWD --output type=docker,dest=docker/${MYP_RP_IMAGE_NAME}_${MYP_RP_IMAGE_TAG}.tar
-
-# Check if the build was successful
-if [ $? -ne 0 ]; then
-    echo "Error occurred while building the myp-rp Docker image"
-    docker buildx rm $BUILDER_NAME
-    exit 1
-fi
-
-echo "myp-rp Docker image built successfully"
-
-# Compress the myp-rp tar file using xz
-MYP_RP_COMPRESSED_FILE="docker/${MYP_RP_IMAGE_NAME}_${MYP_RP_IMAGE_TAG}.tar.xz"
-echo "Compressing the myp-rp image to $MYP_RP_COMPRESSED_FILE..."
-
-# Check if the compressed file exists and remove it
-if [ -f "$MYP_RP_COMPRESSED_FILE" ]; then
-    echo "Removing existing compressed file $MYP_RP_COMPRESSED_FILE..."
-    rm "$MYP_RP_COMPRESSED_FILE"
-fi
-
-# Proceed with compression for myp-rp
-xz -z docker/${MYP_RP_IMAGE_NAME}_${MYP_RP_IMAGE_TAG}.tar
-
-# Check if the compression was successful
-if [ $? -ne 0 ]; then
-    echo "Error occurred while compressing the myp-rp Docker image"
-    docker buildx rm $BUILDER_NAME
-    exit 1
-fi
-
-echo "myp-rp Docker image compressed successfully as $MYP_RP_COMPRESSED_FILE"
-
-# Save the caddy Docker image
-echo "Saving caddy Docker image..."
-docker pull ${CADDY_IMAGE_NAME}:${CADDY_IMAGE_TAG}
-docker save ${CADDY_IMAGE_NAME}:${CADDY_IMAGE_TAG} > docker/${CADDY_IMAGE_NAME}.tar
-
-# Compress the caddy tar file using xz
-CADDY_COMPRESSED_FILE="docker/${CADDY_IMAGE_NAME}.tar.xz"
-echo "Compressing the caddy image to $CADDY_COMPRESSED_FILE..."
-
-# Check if the compressed file exists and remove it
-if [ -f "$CADDY_COMPRESSED_FILE" ]; then
-    echo "Removing existing compressed file $CADDY_COMPRESSED_FILE..."
-    rm "$CADDY_COMPRESSED_FILE"
-fi
-
-# Proceed with compression for caddy
-xz -z docker/${CADDY_IMAGE_NAME}.tar
-
-# Check if the compression was successful
-if [ $? -ne 0 ]; then
-    echo "Error occurred while compressing the caddy Docker image"
-    docker buildx rm $BUILDER_NAME
-    exit 1
-fi
-
-echo "Caddy Docker image compressed successfully as $CADDY_COMPRESSED_FILE"
-
-# Remove the builder instance
-docker buildx rm $BUILDER_NAME
-
-echo "Build process completed"
\ No newline at end of file
diff --git a/packages/reservation-platform/docker/caddy.tar.xz b/packages/reservation-platform/docker/caddy.tar.xz
deleted file mode 100644
index 910cb83..0000000
Binary files a/packages/reservation-platform/docker/caddy.tar.xz and /dev/null differ
diff --git a/packages/reservation-platform/docker/deploy.sh b/packages/reservation-platform/docker/deploy.sh
new file mode 100755
index 0000000..09b73d6
--- /dev/null
+++ b/packages/reservation-platform/docker/deploy.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+# Directory containing the Docker images
+IMAGE_DIR="docker/images"
+
+# Load all Docker images from the tar.xz files in the IMAGE_DIR
+echo "Loading Docker images from $IMAGE_DIR..."
+
+for image_file in "$IMAGE_DIR"/*.tar.xz; do
+    if [ -f "$image_file" ]; then
+        echo "Loading Docker image from $image_file..."
+        docker load -i "$image_file"
+
+        # Check if the image loading was successful
+        if [ $? -ne 0 ]; then
+            echo "Error occurred while loading Docker image from $image_file"
+            exit 1
+        fi
+    else
+        echo "No Docker image tar.xz files found in $IMAGE_DIR."
+    fi
+done
+
+# Execute docker compose
+echo "Running docker compose..."
+docker compose -f "docker/compose.yml" 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 "Deployment completed successfully"
diff --git a/packages/reservation-platform/docker/deploy_container.sh b/packages/reservation-platform/docker/deploy_container.sh
deleted file mode 100755
index 0375056..0000000
--- a/packages/reservation-platform/docker/deploy_container.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-
-# Load the Docker images from the tar files
-echo "Loading Docker images from tar files..."
-
-# Load myp-rp image
-echo "Loading myp-rp image..."
-docker load -i "docker/myp-rp_latest.tar.xz"
-
-# Check if loading the myp-rp image was successful
-if [ $? -ne 0 ]; then
-    echo "Error occurred while loading myp-rp Docker image"
-    exit 1
-fi
-
-# Load caddy image
-echo "Loading caddy image..."
-docker load -i "docker/caddy.tar.xz"
-
-# Check if loading the caddy image was successful
-if [ $? -ne 0 ]; then
-    echo "Error occurred while loading caddy Docker image"
-    exit 1
-fi
-
-# Execute docker compose
-echo "Running docker compose..."
-docker compose -f "docker/compose.yml" 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"
diff --git a/packages/reservation-platform/docker/images/caddy_latest.tar.xz b/packages/reservation-platform/docker/images/caddy_latest.tar.xz
new file mode 100644
index 0000000..714a63c
--- /dev/null
+++ b/packages/reservation-platform/docker/images/caddy_latest.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c908d6d0fc04a2aa8b0a19047f6930155bc0342a1ebf4d5cc72c20e9bb298ecf
+size 13382768
diff --git a/packages/reservation-platform/docker/images/myp-rp_latest.tar.xz b/packages/reservation-platform/docker/images/myp-rp_latest.tar.xz
new file mode 100644
index 0000000..c05c438
--- /dev/null
+++ b/packages/reservation-platform/docker/images/myp-rp_latest.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1e003b292a9a7ba353d6500235a648356bc100d91dd30ef4dd7807e7734dee33
+size 169643696
diff --git a/packages/reservation-platform/docker/myp-rp_latest.tar.xz b/packages/reservation-platform/docker/myp-rp_latest.tar.xz
deleted file mode 100644
index 9599311..0000000
--- a/packages/reservation-platform/docker/myp-rp_latest.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7985863a22c64d2d186e78d60364153d6b9b6f72510d077b020afe78944f5f8f
-size 284435728
diff --git a/packages/reservation-platform/docker/save.sh b/packages/reservation-platform/docker/save.sh
new file mode 100755
index 0000000..6778602
--- /dev/null
+++ b/packages/reservation-platform/docker/save.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+# Get image name and optional platform as arguments
+IMAGE_NAME=$1
+PLATFORM="linux/arm64v8"  # Fixed to linux/arm64v8
+
+# Define paths
+IMAGE_DIR="docker/images"
+IMAGE_FILE="${IMAGE_DIR}/${IMAGE_NAME//[:\/]/_}.tar"
+COMPRESSED_FILE="${IMAGE_FILE}.xz"
+
+# Pull the image if it is not available locally
+if ! docker image inspect ${IMAGE_NAME} &>/dev/null; then
+    echo "Image $IMAGE_NAME not found locally. Pulling for platform $PLATFORM..."
+    docker pull --platform $PLATFORM ${IMAGE_NAME}
+    if [ $? -ne 0 ]; then
+        echo "Error occurred while pulling $IMAGE_NAME for platform $PLATFORM"
+        exit 1
+    fi
+else
+    echo "Image $IMAGE_NAME found locally. Skipping pull."
+fi
+
+# Save the Docker image
+echo "Saving $IMAGE_NAME Docker image..."
+docker save ${IMAGE_NAME} > $IMAGE_FILE
+
+# Compress the Docker image (overwriting if file exists)
+echo "Compressing $IMAGE_FILE..."
+xz -z --force $IMAGE_FILE
+
+if [ $? -eq 0 ]; then
+    echo "$IMAGE_NAME Docker image saved and compressed successfully as $COMPRESSED_FILE"
+else
+    echo "Error occurred while compressing $IMAGE_NAME Docker image"
+    exit 1
+fi