#!/bin/bash

# Script to prepare the server for Navi
# Target: Ubuntu 22.04

set -e

echo "[1/5] Updating package lists..."
sudo apt-get update -y

echo "[2/5] Installing essential system tools..."
sudo apt-get install -y build-essential curl wget git vim unzip software-properties-common \
    python3-pip python3-venv nmap iperf3 net-tools htop btop tree tree

echo "[3/5] Installing Docker..."
if ! command -v docker &> /dev/string; then
    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
    sudo usermod -aG docker $USER
    rm get-docker.sh
    echo "Docker installed successfully."
else
    echo "Docker is already installed."
fi

echo "[4/5] Installing Docker Compose..."
sudo apt-get install -y docker-compose-plugin

echo "[5/5] Finalizing Python environment..."
python3 -m venv ~/navi_env
source ~/navi_env/bin/activate
pip install --upgrade pip

echo "--------------------------------------------------"
echo "Server preparation complete!"
echo "Installed: Docker, Docker Compose, Python venv, Nmap, Iperf3, etc."
echo "--------------------------------------------------"
