ViniciusKhan commited on
Commit
451cf0c
·
1 Parent(s): 353535d

Initial CleanSight API (Flask + Docker + CORS)

Browse files
Files changed (1) hide show
  1. Dockerfile +10 -16
Dockerfile CHANGED
@@ -1,40 +1,34 @@
1
- # Dockerfile — Space Hugging Face (Flask via gunicorn)
2
  FROM python:3.11-slim
3
 
4
- # Evita prompts interativos
5
  ENV DEBIAN_FRONTEND=noninteractive \
6
  PIP_NO_CACHE_DIR=1 \
7
  PYTHONDONTWRITEBYTECODE=1 \
8
  PYTHONUNBUFFERED=1
9
 
10
- # Dependências de sistema mínimas
11
  RUN apt-get update && apt-get install -y --no-install-recommends \
12
- build-essential \
13
- gcc \
14
- && rm -rf /var/lib/apt/lists/*
15
 
16
- # Diretório de trabalho
17
  WORKDIR /app
18
 
19
- # Copia requisitos e instala
20
  COPY requirements.txt /app/requirements.txt
21
  RUN pip install --upgrade pip && pip install -r /app/requirements.txt
22
 
23
- # Copia código
24
  COPY src /app/src
25
  COPY README.md /app/README.md
26
 
27
- # Variáveis importantes
28
- ENV PORT=7860
29
  ENV PYTHONPATH=/app
30
  ENV MPLBACKEND=Agg
31
-
32
- # Segurança/CORS (edite se desejar)
33
  ENV ALLOWED_ORIGINS="https://viniciuskanh.github.io,http://localhost:3000,http://localhost:5173"
34
  ENV SECRET_KEY="cleansight-secret"
35
 
36
- # Exposição de porta para o Space (Hugging Face usa PORT)
37
  EXPOSE 7860
38
 
39
- # Comando (gunicorn WSGI, 2 workers thread)
40
- CMD ["gunicorn", "-w", "2", "-k", "gthread", "-b", "0.0.0.0:7860", "src.main:app", "--timeout", "120"]
 
1
+ # Dockerfile — Hugging Face Space (Flask via gunicorn)
2
  FROM python:3.11-slim
3
 
 
4
  ENV DEBIAN_FRONTEND=noninteractive \
5
  PIP_NO_CACHE_DIR=1 \
6
  PYTHONDONTWRITEBYTECODE=1 \
7
  PYTHONUNBUFFERED=1
8
 
 
9
  RUN apt-get update && apt-get install -y --no-install-recommends \
10
+ build-essential gcc bash && \
11
+ rm -rf /var/lib/apt/lists/*
 
12
 
 
13
  WORKDIR /app
14
 
15
+ # Requisitos
16
  COPY requirements.txt /app/requirements.txt
17
  RUN pip install --upgrade pip && pip install -r /app/requirements.txt
18
 
19
+ # Código
20
  COPY src /app/src
21
  COPY README.md /app/README.md
22
 
23
+ # Variáveis padrão
 
24
  ENV PYTHONPATH=/app
25
  ENV MPLBACKEND=Agg
26
+ # CORS e secret (ajuste origens se necessário)
 
27
  ENV ALLOWED_ORIGINS="https://viniciuskanh.github.io,http://localhost:3000,http://localhost:5173"
28
  ENV SECRET_KEY="cleansight-secret"
29
 
30
+ # Expor porta padrão local (no HF ela será sobrescrita por $PORT)
31
  EXPOSE 7860
32
 
33
+ # Use $PORT dinâmico do HF; fallback local mantém usabilidade
34
+ CMD ["bash","-lc","exec gunicorn -w ${WEB_CONCURRENCY:-2} -k gthread -b 0.0.0.0:${PORT:-7860} src.main:app --timeout ${TIMEOUT:-120}"]