Spaces:
Sleeping
Sleeping
Commit
·
451cf0c
1
Parent(s):
353535d
Initial CleanSight API (Flask + Docker + CORS)
Browse files- Dockerfile +10 -16
Dockerfile
CHANGED
|
@@ -1,40 +1,34 @@
|
|
| 1 |
-
# Dockerfile —
|
| 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 |
-
|
| 14 |
-
&& rm -rf /var/lib/apt/lists/*
|
| 15 |
|
| 16 |
-
# Diretório de trabalho
|
| 17 |
WORKDIR /app
|
| 18 |
|
| 19 |
-
#
|
| 20 |
COPY requirements.txt /app/requirements.txt
|
| 21 |
RUN pip install --upgrade pip && pip install -r /app/requirements.txt
|
| 22 |
|
| 23 |
-
#
|
| 24 |
COPY src /app/src
|
| 25 |
COPY README.md /app/README.md
|
| 26 |
|
| 27 |
-
# Variáveis
|
| 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 |
-
#
|
| 37 |
EXPOSE 7860
|
| 38 |
|
| 39 |
-
#
|
| 40 |
-
CMD ["
|
|
|
|
| 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}"]
|