# Dockerfile.lite - para.AI v3.0 com SQLite # Build ~2min (vs ~8min com PostgreSQL) # Imagem ~300MB (vs ~800MB com PostgreSQL) ## OBJETIVO SIMPLIFICAR SQUEMAS E ESPECIALISTAS ## FROM python:3.11-slim # Metadata LABEL maintainer="para.AI Team" LABEL version="3.1.0-sqlite" LABEL description="para.AI API - SQLite Test Version" # Variáveis de ambiente ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ PIP_NO_CACHE_DIR=1 \ PIP_DISABLE_PIP_VERSION_CHECK=1 \ DEBIAN_FRONTEND=noninteractive \ APP_ENV=development \ DATABASE_TYPE=sqlite \ DATABASE_URL=sqlite:///./data/para_ai.db # Criar diretórios WORKDIR /app RUN mkdir -p /app/data /app/logs /app/data/files /app/data/uploads \ /app/data/outputs /app/data/temp /app/data/backups # Instalar dependências mínimas do sistema RUN apt-get update && apt-get install -y --no-install-recommends \ gcc \ curl \ && rm -rf /var/lib/apt/lists/* # Copiar requirements COPY requirements.txt . # Instalar dependências Python RUN pip install --no-cache-dir -r requirements.txt # Copiar código da aplicação COPY . . # Criar arquivo SQLite vazio (será populado na primeira execução) RUN touch /app/data/para_ai.db && chmod 666 /app/data/para_ai.db # Expor porta EXPOSE 7860 # Healthcheck HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \ CMD curl -f http://localhost:8000/health || exit 1 # Script de inicialização COPY scripts/docker-entrypoint-lite.sh /docker-entrypoint.sh RUN chmod +x /docker-entrypoint.sh # Comando de inicialização ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["uvicorn", "api.main:app", "--host", "0.0.0.0", "--port", "7860", "--workers", "1"]