#!/usr/bin/env bash
set -euo pipefail

APP_PATH="${1:-}"
if [ -z "$APP_PATH" ]; then
  echo "Usage: $0 /absolute/path/to/app"
  exit 1
fi

echo "Running server bootstrap for $APP_PATH"

# Ensure directory exists and is owned by current user
sudo mkdir -p "$APP_PATH"
sudo chown "$USER":"$USER" "$APP_PATH"

# Make sure docker is available
if ! command -v docker >/dev/null 2>&1; then
  echo "Docker not found — installing via get.docker.com"
  curl -fsSL https://get.docker.com -o /tmp/get-docker.sh
  sudo sh /tmp/get-docker.sh
  rm -f /tmp/get-docker.sh
  sudo usermod -aG docker "$USER" || true
fi

# Install git if missing
if ! command -v git >/dev/null 2>&1; then
  sudo apt-get update -y || true
  sudo apt-get install -y git || true
fi

# Ensure docker compose plugin is present
if ! docker compose version >/dev/null 2>&1; then
  echo "Docker Compose plugin not available — continuing (plugin may be included)"
fi

# Make deploy script executable if present
if [ -f "$APP_PATH/scripts/deploy_dev.sh" ]; then
  chmod +x "$APP_PATH/scripts/deploy_dev.sh" || true
fi

echo "Bootstrap complete."
