Spaces:
Sleeping
Sleeping
Panacea ICONO
commited on
Commit
·
eb2efb7
1
Parent(s):
4bda333
Fix app and fibonacci modules, Dockerfile and installer
Browse files- Dockerfile +12 -1
- fibonacci.py +10 -0
Dockerfile
CHANGED
|
@@ -5,7 +5,7 @@ FROM python:3.11-slim AS builder
|
|
| 5 |
|
| 6 |
# Instalar herramientas necesarias solo en el stage de build
|
| 7 |
RUN apt-get update \
|
| 8 |
-
&& apt-get install -y --no-install-recommends build-essential gcc libffi-dev \
|
| 9 |
&& rm -rf /var/lib/apt/lists/*
|
| 10 |
|
| 11 |
WORKDIR /app
|
|
@@ -15,6 +15,13 @@ COPY requirements.txt ./requirements.txt
|
|
| 15 |
RUN python -m pip install --upgrade pip setuptools wheel \
|
| 16 |
&& python -m pip install --no-cache-dir --prefix=/install -r requirements.txt
|
| 17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
# --- Final minimal image ---
|
| 19 |
FROM python:3.11-slim
|
| 20 |
|
|
@@ -30,6 +37,10 @@ WORKDIR /app
|
|
| 30 |
# Copiar los paquetes instalados desde el builder al entorno de runtime
|
| 31 |
COPY --from=builder /install /usr/local
|
| 32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
# Copiar código y asignar al user no-root
|
| 34 |
COPY --chown=user:user . /app
|
| 35 |
|
|
|
|
| 5 |
|
| 6 |
# Instalar herramientas necesarias solo en el stage de build
|
| 7 |
RUN apt-get update \
|
| 8 |
+
&& apt-get install -y --no-install-recommends build-essential gcc libffi-dev wget ca-certificates tar \
|
| 9 |
&& rm -rf /var/lib/apt/lists/*
|
| 10 |
|
| 11 |
WORKDIR /app
|
|
|
|
| 15 |
RUN python -m pip install --upgrade pip setuptools wheel \
|
| 16 |
&& python -m pip install --no-cache-dir --prefix=/install -r requirements.txt
|
| 17 |
|
| 18 |
+
# Descargar y extraer openvscode-server en el stage de build (no queda en la imagen final si no se copia)
|
| 19 |
+
RUN wget https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.101.2/openvscode-server-v1.101.2-linux-x64.tar.gz -O /tmp/openvscode-server.tar.gz \
|
| 20 |
+
&& tar -xzf /tmp/openvscode-server.tar.gz -C /opt \
|
| 21 |
+
&& rm /tmp/openvscode-server.tar.gz \
|
| 22 |
+
&& mv /opt/openvscode-server-v1.101.2-linux-x64 /opt/openvscode-server \
|
| 23 |
+
&& chown -R 1000:1000 /opt/openvscode-server
|
| 24 |
+
|
| 25 |
# --- Final minimal image ---
|
| 26 |
FROM python:3.11-slim
|
| 27 |
|
|
|
|
| 37 |
# Copiar los paquetes instalados desde el builder al entorno de runtime
|
| 38 |
COPY --from=builder /install /usr/local
|
| 39 |
|
| 40 |
+
# Copiar openvscode desde el builder (ya está listo en /opt/openvscode-server)
|
| 41 |
+
COPY --from=builder /opt/openvscode-server /opt/openvscode-server
|
| 42 |
+
RUN chown -R 1000:1000 /opt/openvscode-server || true
|
| 43 |
+
|
| 44 |
# Copiar código y asignar al user no-root
|
| 45 |
COPY --chown=user:user . /app
|
| 46 |
|
fibonacci.py
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
def fibonacci(n: int):
|
| 2 |
+
"""Devuelve una lista con los primeros n términos de Fibonacci."""
|
| 3 |
+
if n <= 0:
|
| 4 |
+
return []
|
| 5 |
+
if n == 1:
|
| 6 |
+
return [0]
|
| 7 |
+
seq = [0, 1]
|
| 8 |
+
for _ in range(2, n):
|
| 9 |
+
seq.append(seq[-1] + seq[-2])
|
| 10 |
+
return seq[:n]
|