kaiobash-server / Dockerfile
Silicon Valley - Admin
Enhance session management and Dockerfile for improved performance and security
362d092
raw
history blame
1.21 kB
# Dockerfile optimizado para Hugging Face Spaces
FROM python:3.11-slim
WORKDIR /code
# Instalar dependencias del sistema
RUN apt-get update && apt-get install -y \
build-essential \
&& rm -rf /var/lib/apt/lists/*
# Crear usuario no root
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 primero
COPY --chown=appuser:appuser static/swagger.html /code/static/
COPY --chown=appuser:appuser openapi.yaml /code/
# Copiar el resto de los archivos
COPY --chown=appuser:appuser . .
# Variables de entorno para Hugging Face Spaces
ENV PYTHONUNBUFFERED=1
ENV PYTHONPATH=/code
ENV PORT=7860
ENV PYTHONDONTWRITEBYTECODE=1
# Cambiar al usuario no root
USER appuser
# Exponer el puerto que Hugging Face Spaces espera
EXPOSE 7860
# Comando para ejecutar la aplicación
CMD ["hypercorn", "--config", "hypercorn.toml", "server:app"]