Spaces:
Runtime error
Runtime error
| # ============================================================================ | |
| # Docker Entrypoint - para.AI API v3.0 | |
| # Inicializa PostgreSQL local + API FastAPI | |
| # ============================================================================ | |
| set -e | |
| echo "" | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| echo "β para.AI API v3.0 β" | |
| echo "β AnΓ‘lise Jurisprudencial com IA β" | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| echo "" | |
| # ============================================================================ | |
| # FASE 1: VERIFICAR AMBIENTE | |
| # ============================================================================ | |
| echo "π Verificando ambiente..." | |
| # Mostrar informaΓ§Γ΅es do sistema | |
| echo " Python: $(python --version)" | |
| echo " PostgreSQL: $(su - postgres -c 'psql --version' | head -1)" | |
| echo " DiretΓ³rio: $(pwd)" | |
| echo "" | |
| # ============================================================================ | |
| # FASE 2: INICIALIZAR POSTGRESQL | |
| # ============================================================================ | |
| echo "π Inicializando PostgreSQL local..." | |
| /init-postgres.sh | |
| # Verificar se PostgreSQL estΓ‘ rodando | |
| if ! pg_isready -h localhost -p 5432 &> /dev/null; then | |
| echo "β PostgreSQL nΓ£o estΓ‘ rodando!" | |
| exit 1 | |
| fi | |
| echo "β PostgreSQL OK" | |
| echo "" | |
| # ============================================================================ | |
| # FASE 3: CONFIGURAR VARIΓVEIS DE AMBIENTE | |
| # ============================================================================ | |
| echo "βοΈ Configurando variΓ‘veis de ambiente..." | |
| # Se DATABASE_URL nΓ£o foi fornecida, usar a local | |
| if [ -z "$DATABASE_URL" ] || [ "$DATABASE_URL" = "postgresql://para_ai:para_ai_temp@localhost:5432/para_ai" ]; then | |
| export DATABASE_URL="postgresql://${POSTGRES_USER:-para_ai}:${POSTGRES_PASSWORD:-para_ai_temp}@localhost:5432/${POSTGRES_DB:-para_ai}" | |
| echo " DATABASE_URL configurada para PostgreSQL local" | |
| fi | |
| # ConfiguraΓ§Γ΅es padrΓ£o para HF Spaces | |
| export APP_ENV="${APP_ENV:-production}" | |
| export DEBUG="${DEBUG:-false}" | |
| export HOST="${HOST:-0.0.0.0}" | |
| export PORT="${PORT:-7860}" | |
| echo " APP_ENV: $APP_ENV" | |
| echo " PORT: $PORT" | |
| echo " DATABASE: PostgreSQL local" | |
| echo "" | |
| # ============================================================================ | |
| # FASE 4: TESTAR CONEXΓO COM BANCO | |
| # ============================================================================ | |
| echo "π Testando conexΓ£o com banco de dados..." | |
| python3 << 'PYTHON_TEST' | |
| import sys | |
| from api.config import get_settings | |
| try: | |
| settings = get_settings() | |
| print(f" β ConfiguraΓ§Γ΅es carregadas") | |
| print(f" β Environment: {settings.APP_ENV}") | |
| print(f" β Database URL configurada") | |
| except Exception as e: | |
| print(f" β Erro ao carregar configuraΓ§Γ΅es: {e}") | |
| sys.exit(1) | |
| # Testar conexΓ£o com DB | |
| try: | |
| from database.db_manager import get_db_manager | |
| db = get_db_manager() | |
| if db.health_check(): | |
| print(f" β ConexΓ£o com PostgreSQL OK") | |
| else: | |
| print(f" β Falha no health check do DB") | |
| sys.exit(1) | |
| except Exception as e: | |
| print(f" β Erro ao conectar com DB: {e}") | |
| sys.exit(1) | |
| PYTHON_TEST | |
| if [ $? -ne 0 ]; then | |
| echo "β Falha ao testar conexΓ£o com banco!" | |
| exit 1 | |
| fi | |
| echo "" | |
| # ============================================================================ | |
| # FASE 5: INICIALIZAR API | |
| # ============================================================================ | |
| echo "π Iniciando API FastAPI..." | |
| echo "" | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| echo "β API ONLINE β" | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| echo "" | |
| echo "π Endpoints disponΓveis:" | |
| echo " β’ DocumentaΓ§Γ£o: http://localhost:$PORT/api/docs" | |
| echo " β’ Health Check: http://localhost:$PORT/api/v1/health" | |
| echo " β’ Upload: http://localhost:$PORT/api/v1/process/upload" | |
| echo "" | |
| echo "π‘ PostgreSQL rodando localmente (temporΓ‘rio)" | |
| echo "β οΈ ATENΓΓO: Dados sΓ£o perdidos ao reiniciar o container!" | |
| echo "" | |
| echo "π§ Para banco persistente, configure DATABASE_URL nas Secrets" | |
| echo " Recomendado: Neon (https://neon.tech) ou Supabase" | |
| echo "" | |
| echo "==================================================" | |
| echo "" | |
| # Executar comando passado (geralmente uvicorn) | |
| exec "$@" | |