#!/bin/bash

set -e

echo "🔧 Cập nhật hệ thống..."
sudo apt update && sudo apt upgrade -y

echo "🧹 Gỡ Node.js & npm cũ nếu còn..."
sudo apt purge -y nodejs npm libnode-dev || true
sudo apt autoremove -y
sudo rm -rf /usr/lib/node_modules /usr/include/node /usr/share/node* ~/.npm ~/.nvm

echo "📦 Cài Node.js 18 từ NodeSource..."
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

echo "🧪 Kiểm tra Node.js & npm:"
node -v
npm -v

echo "🌐 Cài configurable-http-proxy..."
sudo npm install -g configurable-http-proxy

echo "🐍 Cài Python và công cụ phát triển..."
sudo apt install -y python3 python3-pip python3-venv python3-dev build-essential git

echo "📁 Tạo thư mục và môi trường ảo cho JupyterHub..."
sudo mkdir -p /opt/jupyterhub
sudo chown $USER /opt/jupyterhub
cd /opt/jupyterhub
python3 -m venv venv
source venv/bin/activate

echo "📦 Cài đặt JupyterHub và Notebook..."
pip install --upgrade pip
pip install jupyterhub notebook

echo "⚙️ Tạo file cấu hình JupyterHub..."
jupyterhub --generate-config

echo "✅ Hoàn tất. Bạn có thể chỉnh sửa cấu hình tại:"
echo "   /opt/jupyterhub/jupyterhub_config.py"
echo
echo "👉 Để chạy thử:"
echo "   cd /opt/jupyterhub"
echo "   source venv/bin/activate"
echo "   jupyterhub"
