Spaces:
Sleeping
Sleeping
| # Usa uma imagem leve do Python 3.10 | |
| FROM python:3.10-slim | |
| # Instala ferramentas do sistema necessárias para a IA (OpenCV) rodar e wget para baixar modelos | |
| RUN apt-get update && apt-get install -y \ | |
| libgl1 \ | |
| libglib2.0-0 \ | |
| wget \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Cria um usuário não-root (Exigência de segurança do Hugging Face) | |
| RUN useradd -m -u 1000 user | |
| # Define o usuário e variáveis de ambiente | |
| USER user | |
| ENV HOME=/home/user \ | |
| PATH=/home/user/.local/bin:$PATH | |
| # Define a pasta de trabalho | |
| WORKDIR $HOME/app | |
| # Copia o arquivo de dependências e instala | |
| COPY --chown=user requirements.txt . | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # Copia todos os seus códigos para dentro do servidor com as permissões corretas | |
| COPY --chown=user . $HOME/app | |
| # Baixa o modelo do LongCLIP diretamente do Hugging Face para o servidor para não usar o limite de 1GB | |
| RUN mkdir -p $HOME/app/Long-CLIP/checkpoints && \ | |
| wget -O $HOME/app/Long-CLIP/checkpoints/longclip-L.pt https://huggingface.co/BeichenZhang/LongCLIP-L/resolve/main/longclip-L.pt | |
| # Cria a pasta de outputs para garantir que o usuário tenha permissão de escrita | |
| RUN mkdir -p $HOME/app/static/outputs | |
| # Expõe a porta 7860 (Padrão do Hugging Face) | |
| EXPOSE 7860 | |
| # Comando final que inicia o Gunicorn na porta 7860 | |
| CMD ["gunicorn", "-b", "0.0.0.0:7860", "--timeout", "120", "app:app"] | |