akra35567 commited on
Commit
23de303
·
verified ·
1 Parent(s): d6dc57d

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +23 -9
Dockerfile CHANGED
@@ -1,27 +1,41 @@
1
- # akira/Dockerfile (Versão Resolvida)
 
2
 
3
  FROM python:3.11-slim
4
 
 
5
  ENV DEBIAN_FRONTEND=noninteractive \
6
  PYTHONUNBUFFERED=1 \
7
- PYTHONDONTWRITEBYTECODE=1
 
 
8
 
9
  WORKDIR /app
10
 
11
- # Instala ferramentas básicas e as ferramentas de build (build-essential, cmake)
12
- # O build-essential inclui gcc, g++ e make.
13
  RUN apt-get update && \
14
  apt-get install -y --no-install-recommends \
15
- curl git ca-certificates build-essential cmake && \
 
16
  rm -rf /var/lib/apt/lists/*
17
 
 
18
  COPY requirements.txt .
19
- COPY modules/ modules/
20
- COPY main.py .
21
 
22
- # Atualiza pip e instala com --prefer-binary
23
  RUN pip install --upgrade pip && \
24
  pip install --no-cache-dir --prefer-binary -r requirements.txt
25
 
 
 
 
 
 
 
 
 
 
26
  EXPOSE 7860
27
- CMD ["python", "main.py"]
 
 
 
1
+ # Dockerfile — AKIRA V19 (Dezembro 2025)
2
+ # Otimizado para Hugging Face Spaces (CPU básico)
3
 
4
  FROM python:3.11-slim
5
 
6
+ # Variáveis de ambiente
7
  ENV DEBIAN_FRONTEND=noninteractive \
8
  PYTHONUNBUFFERED=1 \
9
+ PYTHONDONTWRITEBYTECODE=1 \
10
+ PIP_NO_CACHE_DIR=1 \
11
+ PIP_DISABLE_PIP_VERSION_CHECK=1
12
 
13
  WORKDIR /app
14
 
15
+ # Instala apenas ferramentas essenciais (SEM build-essential)
 
16
  RUN apt-get update && \
17
  apt-get install -y --no-install-recommends \
18
+ curl \
19
+ ca-certificates && \
20
  rm -rf /var/lib/apt/lists/*
21
 
22
+ # Copia arquivos de configuração primeiro (cache Docker)
23
  COPY requirements.txt .
 
 
24
 
25
+ # Instala dependências Python com --prefer-binary (evita compilação)
26
  RUN pip install --upgrade pip && \
27
  pip install --no-cache-dir --prefer-binary -r requirements.txt
28
 
29
+ # Copia código da aplicação
30
+ COPY modules/ modules/
31
+ COPY main.py .
32
+
33
+ # Healthcheck (verifica se API está respondendo)
34
+ HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
35
+ CMD curl -f http://localhost:7860/health || exit 1
36
+
37
+ # Expõe porta
38
  EXPOSE 7860
39
+
40
+ # Comando de inicialização (Gunicorn para produção)
41
+ CMD ["gunicorn", "--bind", "0.0.0.0:7860", "--workers", "2", "--threads", "4", "--timeout", "120", "main:app"]