hectorruiz9 commited on
Commit
411099f
·
verified ·
1 Parent(s): 728f73b

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +15 -15
Dockerfile CHANGED
@@ -1,27 +1,27 @@
1
- FROM python:3.12-slim
2
 
3
- # Instalamos dependencias del sistema necesarias
4
- RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && rm -rf /var/lib/apt/lists/*
 
 
 
5
 
6
- # Copiamos el binario de uv desde la imagen oficial
7
- COPY --from=ghcr.io/astral-sh/uv:0.4.20 /uv /bin/uv
8
-
9
- # Creamos el usuario y configuramos el directorio de trabajo
10
  RUN useradd -m -u 1000 user
11
  WORKDIR /app
12
 
13
- # Ajustamos el PATH para el usuario
14
- ENV PATH="/home/user/.local/bin:$PATH"
15
- ENV UV_SYSTEM_PYTHON=1
16
-
17
- # Copiamos solo los archivos de dependencias primero (aprovecha el caché de capas)
18
  COPY --chown=user requirements.txt .
19
 
20
- # Instalamos dependencias como el usuario 'user'
21
  USER user
22
- RUN uv pip install --no-cache -r requirements.txt
 
 
 
23
 
24
- # Copiamos el resto de la aplicación
25
  COPY --chown=user . .
26
 
27
  # Comando de ejecución
 
1
+ FROM python:3.13-slim
2
 
3
+ # 1. Instalamos dependencias esenciales como root
4
+ RUN apt-get update && apt-get install -y \
5
+ curl \
6
+ build-essential \
7
+ && rm -rf /var/lib/apt/lists/*
8
 
9
+ # 2. Hugging Face típicamente usa el usuario 'user' con UID 1000
 
 
 
10
  RUN useradd -m -u 1000 user
11
  WORKDIR /app
12
 
13
+ # 3. Copiamos los archivos y ajustamos permisos antes de cambiar de usuario
14
+ # Esto evita errores de "Permission denied" durante la instalación
 
 
 
15
  COPY --chown=user requirements.txt .
16
 
17
+ # 4. Cambiamos al usuario 'user'
18
  USER user
19
+ ENV PATH="/home/user/.local/bin:${PATH}"
20
+
21
+ # 5. Instalamos dependencias de Python
22
+ RUN pip install --no-cache-dir --user -r requirements.txt
23
 
24
+ # 6. Copiamos el resto del código
25
  COPY --chown=user . .
26
 
27
  # Comando de ejecución