FROM debian:bullseye-slim # Instalar dependencias necesarias RUN apt-get update && apt-get install -y \ wget \ curl \ libgomp1 \ && rm -rf /var/lib/apt/lists/* # Crear usuario para HF Spaces RUN useradd -m -u 1000 user USER user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH WORKDIR $HOME/app # Copiar el binario COPY --chown=user koboldcpp . RUN chmod +x koboldcpp # Descargar un modelo GGUF ligero (por ejemplo, TinyLlama) para que funcione por defecto RUN wget https://huggingface.co/TheBloke/TinyLlama-1.1B-Chat-v1.0-GGUF/resolve/main/tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf -O model.gguf # Exponer el puerto de HF Spaces EXPOSE 7860 # Comando para ejecutar koboldcpp # --port 7860 es obligatorio para HF Spaces # --model especifica el modelo cargado # --usecpu para asegurar compatibilidad en Spaces gratuitos (puedes cambiarlo si usas GPU) # --nommap para evitar problemas de memoria en entornos limitados CMD ["./koboldcpp", "model.gguf", "--port", "7860", "--usecpu", "--nommap", "--host", "0.0.0.0"]