Spaces:
Runtime error
Runtime error
Silicon Valley - Admin
Refactor Dockerfile, hypercorn.toml, and server.py for improved security, static file handling, and session management
3f3db0e
# 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"] |