ASTAROTH0405 commited on
Commit
f44de98
·
verified ·
1 Parent(s): 35a4550

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +19 -13
Dockerfile CHANGED
@@ -3,7 +3,7 @@ FROM ubuntu:22.04
3
  # Evitar prompts interactivos durante la instalación
4
  ENV DEBIAN_FRONTEND=noninteractive
5
 
6
- # Instalar dependencias esenciales y Python 3
7
  RUN apt-get update && apt-get install -y \
8
  curl \
9
  wget \
@@ -14,36 +14,42 @@ RUN apt-get update && apt-get install -y \
14
  python3-venv \
15
  && rm -rf /var/lib/apt/lists/*
16
 
17
- # Crear usuario sin privilegios (UID 1000 requerido por Hugging Face)
 
 
 
 
 
 
 
 
18
  RUN useradd -m -u 1000 ubuntu && \
19
  echo "ubuntu ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
20
 
 
21
  USER ubuntu
22
  WORKDIR /home/ubuntu
23
 
24
- # 1. INSTALAR EL ENTORNO VIRTUAL COMPLETAMENTE AISLADO
25
  RUN python3 -m venv /home/ubuntu/venv
26
 
27
- # 2. INSTALAR CODE-SERVER DESDE EL SCRIPT OFICIAL
28
- RUN curl -fsSL https://githubusercontent.com | sh
29
-
30
- # 3. CORRECCIÓN CLAVE: Configurar el $PATH completo para que incluya todo
31
- # Prioriza el entorno virtual, luego añade el binario de code-server y mantiene el PATH de Ubuntu.
32
- ENV PATH="/home/ubuntu/venv/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
33
 
34
- # Asegurar que las herramientas de Python estén al día dentro del entorno aislado
35
  RUN pip install --no-cache-dir --upgrade pip setuptools wheel
36
 
37
- # Configuración de variables de entorno de Hugging Face y puertos
38
  ENV PORT=7860
39
  ENV HOME=/home/ubuntu
40
  EXPOSE 7860
41
 
42
- # Pasar los Secrets de tu rotador a las variables estándar del sistema
43
  ENV OPENAI_API_KEY=${ROTADOR_API_KEY}
44
  ENV OPENAI_BASE_URL=${ROTADOR_API_URL}
45
 
46
- # 4. ENLAZAR EL CONTENIDO Y LAS EXTENSIONES AL BUCKET PERSISTENTE (/data)
47
  CMD ["code-server", \
48
  "--bind-addr", "0.0.0.0:7860", \
49
  "--auth", "none", \
 
3
  # Evitar prompts interactivos durante la instalación
4
  ENV DEBIAN_FRONTEND=noninteractive
5
 
6
+ # 1. INSTALAR DEPENDENCIAS ESENCIALES COMO ROOT
7
  RUN apt-get update && apt-get install -y \
8
  curl \
9
  wget \
 
14
  python3-venv \
15
  && rm -rf /var/lib/apt/lists/*
16
 
17
+ # 2. INSTALAR CODE-SERVER GLOBALMENTE (Como ROOT, descargando el .deb oficial)
18
+ # Esto asegura que el binario se guarde de forma nativa en /usr/bin/code-server
19
+ RUN CODE_SERVER_VERSION=$(curl -s https://github.com | grep -oP '"tag_name":\s*"\K[^"]+') && \
20
+ ARCH=$(dpkg --print-architecture) && \
21
+ wget https://github.com{CODE_SERVER_VERSION}/code-server_${CODE_SERVER_VERSION##v}_${ARCH}.deb && \
22
+ dpkg -i code-server_${CODE_SERVER_VERSION##v}_${ARCH}.deb && \
23
+ rm code-server_${CODE_SERVER_VERSION##v}_${ARCH}.deb
24
+
25
+ # 3. CONFIGURAR EL USUARIO PARA HUGGING FACE (UID 1000 obligado)
26
  RUN useradd -m -u 1000 ubuntu && \
27
  echo "ubuntu ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
28
 
29
+ # Cambiar al usuario final y definir el directorio de trabajo
30
  USER ubuntu
31
  WORKDIR /home/ubuntu
32
 
33
+ # 4. CREAR EL ENTORNO VIRTUAL PROTEGIDO
34
  RUN python3 -m venv /home/ubuntu/venv
35
 
36
+ # 5. CONFIGURAR EL $PATH
37
+ # El entorno virtual va primero, pero el sistema encontrará code-server en /usr/bin de forma transparente
38
+ ENV PATH="/home/ubuntu/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
 
 
 
39
 
40
+ # Actualizar herramientas de Python dentro del entorno aislado
41
  RUN pip install --no-cache-dir --upgrade pip setuptools wheel
42
 
43
+ # Variables de entorno exigidas por Hugging Face
44
  ENV PORT=7860
45
  ENV HOME=/home/ubuntu
46
  EXPOSE 7860
47
 
48
+ # Mapear los Secrets de tu rotador a las variables que leerán las extensiones de IA
49
  ENV OPENAI_API_KEY=${ROTADOR_API_KEY}
50
  ENV OPENAI_BASE_URL=${ROTADOR_API_URL}
51
 
52
+ # 6. ARRANCAR ENLAZANDO AL BUCKET PERSISTENTE (/data)
53
  CMD ["code-server", \
54
  "--bind-addr", "0.0.0.0:7860", \
55
  "--auth", "none", \