Spaces:
Sleeping
Sleeping
| FROM python:3.11-slim | |
| # Instala herramientas necesarias | |
| RUN apt-get update && \ | |
| apt-get install -y --no-install-recommends \ | |
| xz-utils zstd wget && \ | |
| rm -rf /var/lib/apt/lists/* | |
| RUN mkdir -p /app && chown -R 1000:1000 /app | |
| USER 1000 | |
| # Carpeta de trabajo fija y limpia | |
| WORKDIR /app | |
| # Script de arranque con logging y compresión | |
| RUN echo '#!/usr/bin/env python3' > /app/run.py && \ | |
| echo 'import os, time' >> /app/run.py && \ | |
| # echo 'def log(msg): print(f"[{time.strftime(\"%H:%M:%S\")}] {msg}")' >> /app/run.py && \ | |
| # echo 'log("===== BitNet GGUF Downloader =====")' >> /app/run.py && \ | |
| #echo 'log("[1/4] Descargando modelo con wget...")' >> /app/run.py && \ | |
| # echo 't0 = time.time()' >> /app/run.py && \ | |
| echo 'os.system("wget -O ggml-model-i2_s.gguf https://huggingface.co/microsoft/bitnet-b1.58-2B-4T-gguf/resolve/main/ggml-model-i2_s.gguf")' >> /app/run.py && \ | |
| #echo 'log(f"Descarga completada ({round(time.time()-t0,1)}s)")' >> /app/run.py && \ | |
| #echo 'log("[2/4] Comprimiendo con tar.xz...")' >> /app/run.py && \ | |
| #echo 't1 = time.time()' >> /app/run.py && \ | |
| echo 'os.system("tar -c -f model.tar.xz -I \\"xz -9e -T0\\" ggml-model-i2_s.gguf")' >> /app/run.py && \ | |
| #echo 'log(f"XZ listo ({round(time.time()-t1,1)}s)")' >> /app/run.py && \ | |
| #echo 'log("[3/4] Comprimiendo con tar.zst...")' >> /app/run.py && \ | |
| #echo 't2 = time.time()' >> /app/run.py && \ | |
| echo 'os.system("tar -c -f model.tar.zst --zstd -I \\"zstd -19 -T0\\" ggml-model-i2_s.gguf")' >> /app/run.py && \ | |
| # echo 'log(f"ZSTD listo ({round(time.time()-t2,1)}s)")' >> /app/run.py && \ | |
| #echo 'log("[4/4] Comprimimos con RAR...")' >> /app/run.py && \ | |
| #echo 't3 = time.time()' >> /app/run.py && \ | |
| #echo 'os.system("rar a -ma5 model.rar ggml-model-i2_s.gguf")' >> /app/run.py && \ | |
| #echo 'log(f"RAR listo ({round(time.time()-t3,1)}s)")' >> /app/run.py && \ | |
| #echo 'log("Tamaños finales:")' >> /app/run.py && \ | |
| echo 'os.system("du -h *.gguf *.xz *.zst")' >> /app/run.py && \ | |
| #echo 'log("Servidor HTTP activo en puerto 7860")' >> /app/run.py && \ | |
| echo 'os.system("python3 -m http.server 7860")' >> /app/run.py | |
| EXPOSE 7860 | |
| CMD ["python3", "/app/run.py"] | |