Docs/Docker/restoreContainer.sh
2025-03-19 14:01:38 +01:00

26 lines
704 B
Bash

#!/bin/bash
CONTAINER_NAME="$1"
BACKUP_DIR="$2"
VOLUME_NAME="$3"
if [ -z "$BACKUP_DIR" ]; then
echo "Usage: $0 <container_name> <backup_directory> <volume_name>"
exit 1
fi
if [ ! -d "$BACKUP_DIR" ]; then
echo "Directory $BACKUP_DIR does not exist"
exit 1
fi
# Load image
docker load -i "$BACKUP_DIR/${CONTAINER_NAME}_backup.tar"
if [ ! -f "${BACKUP_DIR}/${VOLUME_NAME}".tar.gz ]; then
echo "Restoring volume ${VOLUME_NAME}"
docker volume create "$VOLUME_NAME"
docker run --rm -v "$VOLUME_NAME":/data -v "$BACKUP_DIR":/backup busybox tar xzf /backup/"$VOLUME_NAME".tar.gz -C /data
fi
echo "Restore complete. Deploy using: ${BACKUP_DIR}/${CONTAINER_NAME}_deploy.sh"