kaiobash-server / Dockerfile
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"]