leinier310 commited on
Commit
1901f12
verified
1 Parent(s): 728f88e

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +17 -44
Dockerfile CHANGED
@@ -1,54 +1,27 @@
1
- # HUGGINGFACE SPACES - DOCKER
2
  FROM python:3.11-slim
3
 
4
- # Argumento: URL directa de descarga (usar "resolve", no "blob")
5
- ARG MODEL_URL="https://cas-bridge.xethub.hf.co/xet-bridge-us/67fddfc6647578a554f63c8a/8fc299b2c197558dd063213df3475356adda52923314428388d7f7f66fcdd5cc?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=cas%2F20250811%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250811T001642Z&X-Amz-Expires=3600&X-Amz-Signature=3b06606d4e5a4ec2f8e00eb18c4b67f39b2015deb4f8b5d19b122e2f6f431cba&X-Amz-SignedHeaders=host&X-Xet-Cas-Uid=public&response-content-disposition=inline%3B+filename*%3DUTF-8%27%27ggml-model-i2_s.gguf%3B+filename%3D%22ggml-model-i2_s.gguf%22%3B&x-id=GetObject&Expires=1754875002&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTc1NDg3NTAwMn19LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2FzLWJyaWRnZS54ZXRodWIuaGYuY28veGV0LWJyaWRnZS11cy82N2ZkZGZjNjY0NzU3OGE1NTRmNjNjOGEvOGZjMjk5YjJjMTk3NTU4ZGQwNjMyMTNkZjM0NzUzNTZhZGRhNTI5MjMzMTQ0MjgzODhkN2Y3ZjY2ZmNkZDVjYyoifV19&Signature=PayZUFOSXeiwEGaTW%7EIEaTnkx22AxEeCh8x4hpVTTPl2et8bj3GeVJQVNcDyxvL8h2FlXYF7FSpWONnIe65LSxvpXl9t1h2g%7Eq21Ye%7Eb78Ce3UXU0xXKovLCDIKg8vApJuVM6zDkNnZcjo8N%7Ekwaq2btWn9av1IWxvYQvmLvPBAkg3PRxXDpz0xUPAue2UAf0BXfyIMniCqgHsUSpalHQohMVkZlaBzziCdDTS42C%7EcDhipKwriQ-oXDCgmfpcSir6gJ25eI2prO4fwzY7V6FAT3QJ9dFWBwd%7EycyCkXDU487s%7Es79Bacl5Q0KVfGLjyvhkUZ9%7Eg8LZGCkgiYVNLAQ__&Key-Pair-Id=K2L8F4GPSG1IFC"
6
-
7
- # Paquetes necesarios: aria2 (descarga paralela), xz-utils (compresi贸n), coreutils (env vars/du), ca-certificates
8
  RUN apt-get update && \
9
  apt-get install -y --no-install-recommends \
10
- aria2 xz-utils ca-certificates && \
 
11
  rm -rf /var/lib/apt/lists/*
12
 
13
- # Directorio de trabajo y datos
14
- WORKDIR /workspace
15
  RUN mkdir -p /data
 
16
 
17
- # Script de arranque: descarga, comprime, sirve el server
18
- # - Usa aria2c con 16 conexiones y segmento 1MiB
19
- # - Comprime con xz al m谩ximo (-9e) y todos los hilos (-T0) a trav茅s de tar -I
20
- # - Publica el archivo por HTTP en /data
21
- RUN printf '%s\n' \
22
- '#!/usr/bin/env bash' \
23
- 'set -euo pipefail' \
24
- 'MODEL_URL="${MODEL_URL:-}"' \
25
- 'OUT_DIR="/data"' \
26
- 'RAW="${OUT_DIR}/ggml-model-i2_s.gguf"' \
27
- 'TXZ="${OUT_DIR}/ggml-model-i2_s.gguf.tar.xz"' \
28
- '' \
29
- 'echo "[1/3] Descargando modelo..."' \
30
- 'if [ ! -s "${RAW}" ]; then' \
31
- ' aria2c -x16 -s16 -k1M -o "$(basename "${RAW}")" -d "${OUT_DIR}" "${MODEL_URL}"' \
32
- 'else' \
33
- ' echo "Saltando descarga: existe ${RAW}"' \
34
- 'fi' \
35
- '' \
36
- 'echo "[2/3] Comprimiendo a tar.xz (m谩xima compresi贸n, multihilo)..."' \
37
- 'if [ ! -s "${TXZ}" ]; then' \
38
- ' # Nota: -I permite pasar el pipeline completo de xz; -9e = m谩ximo, -T0 = todos los hilos' \
39
- ' tar -C "${OUT_DIR}" -c -f "${TXZ}" -I "xz -9e -T0" "$(basename "${RAW}")"' \
40
- 'else' \
41
- ' echo "Saltando compresi贸n: existe ${TXZ}"' \
42
- 'fi' \
43
- '' \
44
- 'echo "[3/3] Tama帽os:"' \
45
- 'du -h "${RAW}" || true' \
46
- 'du -h "${TXZ}" || true' \
47
- '' \
48
- 'echo "Listo. Sirviendo /data en http://0.0.0.0:7860/"' \
49
- 'cd "${OUT_DIR}"' \
50
- 'python -m http.server 7860' \
51
- > /usr/local/bin/run.sh && chmod +x /usr/local/bin/run.sh
52
 
53
  EXPOSE 7860
54
- CMD ["/usr/local/bin/run.sh"]
 
 
1
  FROM python:3.11-slim
2
 
3
+ # Instala dependencias: huggingface_hub para descarga, xz-utils para compresi贸n
 
 
 
4
  RUN apt-get update && \
5
  apt-get install -y --no-install-recommends \
6
+ xz-utils && \
7
+ pip install --no-cache-dir huggingface_hub && \
8
  rm -rf /var/lib/apt/lists/*
9
 
10
+ # Directorios
 
11
  RUN mkdir -p /data
12
+ WORKDIR /data
13
 
14
+ # Script de arranque
15
+ RUN echo '#!/usr/bin/env python3' > /run.py && \
16
+ echo 'import os' >> /run.py && \
17
+ echo 'from huggingface_hub import hf_hub_download' >> /run.py && \
18
+ echo 'print("[1/3] Descargando .gguf...")' >> /run.py && \
19
+ echo 'raw_path = hf_hub_download("microsoft/bitnet-b1.58-2B-4T-gguf", "ggml-model-i2_s.gguf", local_dir="/data")' >> /run.py && \
20
+ echo 'print("[2/3] Comprimiendo con xz (m谩xima compresi贸n)...")' >> /run.py && \
21
+ echo 'os.system("tar -C /data -c -f /data/model.tar.xz -I \\"xz -9e -T0\\" ggml-model-i2_s.gguf")' >> /run.py && \
22
+ echo 'print("[3/3] Servidor HTTP en puerto 7860:")' >> /run.py && \
23
+ echo 'os.chdir("/data")' >> /run.py && \
24
+ echo 'os.system("python3 -m http.server 7860")' >> /run.py
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
 
26
  EXPOSE 7860
27
+ CMD ["python3", "/run.py"]