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"] |