File size: 1,535 Bytes
c46d8cf
3dde046
f0762d4
3f3db0e
c46d8cf
13c3439
c46d8cf
 
3dde046
 
f0762d4
3f3db0e
362d092
 
 
 
c46d8cf
362d092
f0762d4
cce3030
 
 
f0762d4
3f3db0e
362d092
 
1d7545f
3f3db0e
 
 
 
 
 
13c3439
c46d8cf
f0762d4
c46d8cf
 
362d092
 
3f3db0e
362d092
f0762d4
3dde046
f0762d4
 
3f3db0e
cce3030
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Dockerfile optimizado para Hugging Face Spaces
FROM python:3.11-slim

# Establecer el directorio de trabajo
WORKDIR /code

# Instalar dependencias del sistema
RUN apt-get update && apt-get install -y \
    build-essential \
    && rm -rf /var/lib/apt/lists/*

# Crear un usuario no root para mejorar la seguridad
RUN adduser --disabled-password --gecos '' appuser && \
    mkdir -p /code/static && \
    chown -R appuser:appuser /code

# Copiar solo requirements.txt primero para aprovechar la cach茅 de Docker
COPY --chown=appuser:appuser requirements.txt .

# Instalar dependencias de Python con pip limpio
RUN pip install --no-cache-dir --upgrade pip && \
    pip install --no-cache-dir -r requirements.txt

# Copiar archivos est谩ticos y de configuraci贸n primero
COPY --chown=appuser:appuser static/swagger.html /code/static/
COPY --chown=appuser:appuser openapi.yaml /code/

# Copiar el resto de los archivos del proyecto
COPY --chown=appuser:appuser server.py ./
COPY --chown=appuser:appuser hypercorn.toml ./
# Si tienes otros archivos necesarios, c贸pialos aqu铆
# Por ejemplo:
# COPY --chown=appuser:appuser other_module.py ./ 

# Variables de entorno para Hugging Face Spaces
ENV PYTHONUNBUFFERED=1
ENV PYTHONPATH=/code
ENV PORT=7860
ENV PYTHONDONTWRITEBYTECODE=1

# Cambiar al usuario no root para evitar privilegios elevados
USER appuser

# Exponer el puerto que Hugging Face Spaces espera
EXPOSE 7860

# Comando para ejecutar la aplicaci贸n usando Hypercorn
CMD ["hypercorn", "--config", "hypercorn.toml", "server:app"]