akra35567 commited on
Commit
13fa5d5
·
1 Parent(s): 94eded8

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +12 -15
Dockerfile CHANGED
@@ -1,38 +1,35 @@
1
  FROM python:3.11-slim
2
 
3
- # Configurações de ambiente
4
  ENV DEBIAN_FRONTEND=noninteractive
5
  ENV PYTHONUNBUFFERED=1
6
  ENV PYTHONDONTWRITEBYTECODE=1
7
 
8
- # Dependências do sistema (necessárias para compilar se não usar wheels)
 
9
  RUN apt-get update && \
10
  apt-get install -y --no-install-recommends \
 
 
11
  build-essential \
12
  git \
13
- ca-certificates \
14
- curl \
15
- wget && \
16
  rm -rf /var/lib/apt/lists/*
17
 
18
- # Diretório de trabalho
19
  WORKDIR /app
20
 
21
- # Copia arquivos
22
  COPY requirements.txt .
23
  COPY modules/ modules/
24
  COPY main.py .
25
 
26
- # Instala llama-cpp-python com wheels pré-compiladas (rápido e funciona 100% no HF Spaces)
27
- RUN pip install --no-cache-dir --force-reinstall \
28
- llama-cpp-python \
29
- --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/blas
30
-
31
- # Instala o resto das dependências
32
  RUN pip install --no-cache-dir -r requirements.txt
33
 
34
- # Porta do Gradio/Streamlit
35
  EXPOSE 7860
36
 
37
- # Inicia a aplicação
 
 
38
  CMD ["python", "main.py"]
 
1
  FROM python:3.11-slim
2
 
3
+ # Configurações de ambiente para builds não interativos
4
  ENV DEBIAN_FRONTEND=noninteractive
5
  ENV PYTHONUNBUFFERED=1
6
  ENV PYTHONDONTWRITEBYTECODE=1
7
 
8
+ # Instala dependências do sistema
9
+ # Necessário para a compilação de C/C++ (e para o llama-cpp-python)
10
  RUN apt-get update && \
11
  apt-get install -y --no-install-recommends \
12
+ curl \
13
+ wget \
14
  build-essential \
15
  git \
16
+ ca-certificates && \
 
 
17
  rm -rf /var/lib/apt/lists/*
18
 
19
+ # Define diretório de trabalho e copia arquivos
20
  WORKDIR /app
21
 
 
22
  COPY requirements.txt .
23
  COPY modules/ modules/
24
  COPY main.py .
25
 
26
+ # Instala dependências do Python (incluindo llama-cpp-python que compila C/C++)
 
 
 
 
 
27
  RUN pip install --no-cache-dir -r requirements.txt
28
 
29
+ # Porta e Comando de Inicialização
30
  EXPOSE 7860
31
 
32
+ # Se main.py usa Gradio/Streamlit, este CMD funciona perfeitamente.
33
+ # Para FastAPI/Flask com Gunicorn, troque para algo como:
34
+ # CMD ["gunicorn", "-w", "4", "-k", "uvicorn.workers.UvicornWorker", "main:app"]
35
  CMD ["python", "main.py"]