#!/bin/bash
# Unraid Config Guardian - Restore Script
# Generated: 2026-07-28T07:23:06.960244
# Server: SuperMicro

echo "🔄 Restoring Unraid setup..."

# Function to restore XML templates
restore_templates() {
    if [ -f "container-templates.zip" ]; then
        echo "📋 Restoring XML templates..."

        # Create target directory if it doesn't exist
        mkdir -p /boot/config/plugins/dockerMan/templates-user

        # Extract templates
        unzip -o container-templates.zip -d /boot/config/plugins/dockerMan/templates-user

        if [ $? -eq 0 ]; then
            echo "✅ XML templates restored to /boot/config/plugins/dockerMan/templates-user"
            echo "ℹ️  Templates will appear in 'Add Container' dropdown"
        else
            echo "❌ Failed to extract templates"
        fi
    else
        echo "ℹ️  No container-templates.zip found - skipping template restore"
    fi
}

# Function to attempt docker-compose restore (fallback option)
restore_with_compose() {
    if [ -f "docker-compose.yml" ]; then
        echo ""
        echo "🐳 Attempting docker-compose restore (fallback method)..."

        if command -v docker-compose &> /dev/null; then
            docker-compose up -d
            echo "✅ Containers started with docker-compose"
        elif docker compose version &> /dev/null; then
            docker compose up -d
            echo "✅ Containers started with docker compose"
        else
            echo "❌ Docker Compose not available"
            echo "💡 Install with: curl -L 'https://github.com/docker/compose/releases/"                  "latest/download/docker-compose-$(uname -s)-$(uname -m)' "                  "-o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose"
            return 1
        fi
    fi
}

# Main restore process
echo "📋 UNRAID RESTORE OPTIONS:"
echo ""
echo "Option 1: Restore XML Templates (Recommended)"
restore_templates

echo ""
echo "Option 2: Docker-Compose Fallback (Emergency only)"
if restore_with_compose; then
    echo "⚠️  Warning: These containers bypass Unraid's management system"
fi

echo ""
echo "✅ Restore process complete!"
echo ""
echo "📋 NEXT STEPS:"
echo "  1. Go to Docker tab in Unraid WebUI"
echo "  2. Click 'Add Container'"
echo "  3. Select your templates from 'Template' dropdown"
echo "  4. Configure paths/settings as needed"
echo "  5. Restore appdata from backup"
echo ""
echo "💡 TIPS:"
echo "  - Enable 'Template Authoring Mode' in Docker settings for full template access"
echo "  - Use unraid-config.json for reference settings"
echo "  - Templates provide better integration than docker-compose"
echo "  - Templates support Unraid's auto-start, updates, and management features"
