#!/bin/bash set -e # Doza Assist - Instalador (macOS) # Sobe um nivel: o script vive em admin/, o projeto e a pasta pai SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" PROJECT_DIR="$(dirname "$SCRIPT_DIR")" CODE_DIR="$PROJECT_DIR/code" VENV_DIR="$CODE_DIR/.venv" echo "============================================================" echo " Doza Assist - Instalador" echo " Pasta: $CODE_DIR" echo "============================================================" echo # Homebrew no PATH (ffmpeg, python3 via brew, etc.) if [ -d "/opt/homebrew/bin" ]; then export PATH="/opt/homebrew/bin:$PATH" elif [ -d "/usr/local/bin" ]; then export PATH="/usr/local/bin:$PATH" fi # 1) Verificar Python echo "[1/4] Verificando Python..." if ! command -v python3 >/dev/null 2>&1; then echo "ERRO: python3 nao encontrado." echo "Instale via Homebrew: brew install python@3.12" echo "Ou baixe de: https://www.python.org/downloads/" exit 1 fi PY_VER="$(python3 --version 2>&1 | awk '{print $2}')" echo " Python encontrado: $PY_VER" # 2) Criar ambiente virtual echo echo "[2/4] Criando ambiente virtual..." if [ -d "$VENV_DIR" ] && [ ! -x "$VENV_DIR/bin/python3" ]; then # venv existente nao e do macOS (ex.: criado no Windows, tem Scripts/ em vez de bin/) echo " AVISO: existe um .venv incompativel com macOS em:" echo " $VENV_DIR" if [ -f "$VENV_DIR/pyvenv.cfg" ]; then echo " Origem registrada:" sed -n 's/^home = / /p' "$VENV_DIR/pyvenv.cfg" fi echo echo " Para continuar e preciso recriar esse ambiente." echo " O diretorio sera movido para .venv.bak (nada e apagado)." printf " Recriar agora? [s/N] " read -r RESP case "$RESP" in [sS]|[sS][iI][mM]|[yY]|[yY][eE][sS]) ;; *) echo " Cancelado pelo usuario. Nada foi alterado."; exit 1 ;; esac rm -rf "$VENV_DIR.bak" mv "$VENV_DIR" "$VENV_DIR.bak" echo " Ambiente antigo movido para: $VENV_DIR.bak" fi if [ ! -d "$VENV_DIR" ]; then python3 -m venv "$VENV_DIR" echo " Ambiente virtual criado." else echo " Ambiente virtual ja existe." fi VENV_PY="$VENV_DIR/bin/python3" # 3) Instalar dependencias echo echo "[3/4] Instalando dependencias..." "$VENV_PY" -m pip install --upgrade pip >/dev/null 2>&1 "$VENV_PY" -m pip install -r "$CODE_DIR/requirements.txt" echo " Dependencias instaladas." # 4) Verificar ffmpeg echo echo "[4/4] Verificando ffmpeg..." if ! command -v ffmpeg >/dev/null 2>&1; then echo " ffmpeg nao encontrado." echo " Para instalar via Homebrew: brew install ffmpeg" echo " Ou baixe de: https://ffmpeg.org/download.html" else echo " ffmpeg encontrado: $(command -v ffmpeg)" fi echo echo "============================================================" echo " Instalacao concluida!" echo echo " Para iniciar o servidor:" echo " cd \"$CODE_DIR\"" echo " .venv/bin/python3 app.py" echo echo " Ou execute: admin/deploy.command" echo echo " Acesse: http://localhost:5050" echo "============================================================" echo