44 lines
1.2 KiB
Bash
Executable File
44 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# backup_icloud_photos.sh
|
|
|
|
# Exit immediately if a command exits with a non-zero status
|
|
set -e
|
|
|
|
# SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
|
SCRIPT_DIR="/home/john/mine/scripts/icloud_backup"
|
|
|
|
# Load environment variables from .env file
|
|
if [ -f "$SCRIPT_DIR/.env" ]; then
|
|
export $(grep -v '^#' "$SCRIPT_DIR/.env" | xargs)
|
|
else
|
|
echo ".env file not found in $SCRIPT_DIR/.env!"
|
|
exit 1
|
|
fi
|
|
|
|
# Define variables for paths
|
|
IMAGE_NAME="icloud-backup"
|
|
CONTAINER_NAME="icloud-backup-container"
|
|
|
|
# Build the Docker image
|
|
echo "Building Docker image: $IMAGE_NAME"
|
|
docker build -f "$SCRIPT_DIR/Dockerfile" -t "$IMAGE_NAME" "$SCRIPT_DIR"
|
|
|
|
# Run the Docker container
|
|
echo "Running Docker container: $CONTAINER_NAME"
|
|
|
|
docker run --rm -it \
|
|
--name $CONTAINER_NAME \
|
|
--network immich_network \
|
|
-e "ICLOUD_USERNAME=$ICLOUD_USERNAME" \
|
|
-e "ICLOUD_PASSWORD=$ICLOUD_PASSWORD" \
|
|
-e "IMMICH_API_KEY=$IMMICH_API_KEY" \
|
|
-e "NAS_IMMICH_LIBRARY_ID=$NAS_IMMICH_LIBRARY_ID" \
|
|
-v "$SCRIPT_DIR/temp:/backup/temp" \
|
|
-v /mnt/photos_backup:/mnt/photos_backup \
|
|
-v "$SCRIPT_DIR/cookies:/app/.pyicloud" \
|
|
-v "$SCRIPT_DIR/logs:/var/log" \
|
|
$IMAGE_NAME
|
|
|
|
echo "Backup process completed successfully."
|