#!/bin/bash
# ==============================================================================
# TimeCloud Automation — Setup para Proxmox CT (Debian/Ubuntu)
# ==============================================================================
# Este script instala todas as dependências necessárias para correr o 
# script de automação TimeCloud num container Proxmox.
#
# Uso:
#   chmod +x setup_proxmox.sh
#   ./setup_proxmox.sh
# ==============================================================================

set -e

INSTALL_DIR="/opt/timecloud-automation"
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"

echo "=============================================="
echo " TimeCloud Automation — Setup Proxmox CT"
echo "=============================================="
echo ""

# 1. Atualizar pacotes
echo "📦 A atualizar pacotes do sistema..."
apt update && apt upgrade -y

# 2. Instalar dependências do sistema
echo "📦 A instalar Python3, Chrome, e dependências..."
apt install -y \
    python3 \
    python3-pip \
    python3-venv \
    chromium \
    chromium-driver \
    fonts-liberation \
    libnss3 \
    libxss1 \
    libasound2 \
    libatk-bridge2.0-0 \
    libgtk-3-0

# 3. Criar diretório de instalação (se diferente)
if [ "$SCRIPT_DIR" != "$INSTALL_DIR" ]; then
    echo "📁 A copiar ficheiros para $INSTALL_DIR..."
    mkdir -p "$INSTALL_DIR"
    cp "$SCRIPT_DIR/timecloud_process.py" "$INSTALL_DIR/"
    cp "$SCRIPT_DIR/requirements.txt" "$INSTALL_DIR/"
    cp "$SCRIPT_DIR/README.md" "$INSTALL_DIR/"
    
    if [ -f "$SCRIPT_DIR/.env" ]; then
        cp "$SCRIPT_DIR/.env" "$INSTALL_DIR/"
    else
        cp "$SCRIPT_DIR/.env.example" "$INSTALL_DIR/.env"
        echo ""
        echo "⚠️  Ficheiro .env criado a partir do template."
        echo "   Edite $INSTALL_DIR/.env com as suas credenciais!"
    fi
fi

# 4. Instalar dependências Python
echo "🐍 A instalar dependências Python..."
cd "$INSTALL_DIR"
pip3 install -r requirements.txt --break-system-packages 2>/dev/null || \
    pip3 install -r requirements.txt

# 5. Proteger ficheiro de credenciais
if [ -f "$INSTALL_DIR/.env" ]; then
    chmod 600 "$INSTALL_DIR/.env"
    echo "🔒 Permissões do .env restritas (600)"
fi

# 6. Criar diretório de logs
mkdir -p "$INSTALL_DIR/logs"

# 7. Configurar cron job
echo ""
echo "=============================================="
echo " ✅ Setup concluído!"
echo "=============================================="
echo ""
echo "Próximos passos:"
echo ""
echo "  1. Editar credenciais (se ainda não o fez):"
echo "     nano $INSTALL_DIR/.env"
echo ""
echo "  2. Testar em modo dry-run:"
echo "     cd $INSTALL_DIR && python3 timecloud_process.py --dry-run"
echo ""
echo "  3. Executar normalmente:"
echo "     cd $INSTALL_DIR && python3 timecloud_process.py"
echo ""
echo "  4. Agendar execução diária (cron):"
echo "     crontab -e"
echo "     # Adicionar a linha:"
echo "     0 6 * * * cd $INSTALL_DIR && python3 timecloud_process.py >> /var/log/timecloud.log 2>&1"
echo ""
