#!/bin/bash #ident "@(#)$Format:LocalFoodAI_lanfr144:setup_app.sh:%an:%ae:%ad:%cn:%ce:%cd:%H:%D:%N$"" # ============================================================================== # Local Food AI - WSL Application Setup Script # Run inside the WSL Ubuntu environment # ============================================================================== set -e GREEN='\033[0;32m' BLUE='\033[0;34m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' log_info() { echo -e "${BLUE}[INFO] - $1${NC}" } log_success() { echo -e "${GREEN}[SUCCESS] - $1${NC}" } log_warn() { echo -e "${YELLOW}[WARNING] - $1${NC}" } log_error() { echo -e "${RED}[ERROR] - $1${NC}" } # 1. Check if running inside WSL if ! grep -qi "microsoft" /proc/sys/kernel/osrelease 2>/dev/null && ! grep -qi "wsl" /proc/sys/kernel/osrelease 2>/dev/null; then log_warn "This script is optimized for WSL. Continuing anyway..." fi # 2. Navigate to WSL home directory if run from Windows mount to prevent permission bugs if [[ "$PWD" == /mnt/* ]]; then log_warn "You are running this script from a Windows filesystem mount ($PWD)." log_info "Redirecting to your Unix home directory (~)..." cd ~ fi # 3. Clean existing Docker installations log_info "Step 1/6: Checking and removing old Docker packages..." sudo apt remove -y docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc || true # 4. Install Docker dependencies & Repository log_info "Step 2/6: Setting up Docker repository..." sudo apt update sudo apt install -y ca-certificates curl ed sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc sudo tee /etc/apt/sources.list.d/docker.sources <