TechDev commited on
Commit
46f99e4
·
verified ·
1 Parent(s): 80cb0b9

Upload 2 files

Browse files
Files changed (2) hide show
  1. Dockerfile +30 -0
  2. install.py +20 -0
Dockerfile ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM ubuntu
2
+
3
+ RUN apt-get update && \
4
+ apt-get install -y sudo && \
5
+ apt-get clean
6
+ RUN apt-get update && apt-get install -y python3 python3-pip python3.12-venv
7
+ RUN apt-get update && apt-get install -y \
8
+ curl \
9
+ ca-certificates \
10
+ gnupg
11
+
12
+ ARG URL
13
+
14
+ # Añadir un usuario llamado 'appuser'
15
+ RUN useradd -ms /bin/bash appuser
16
+ RUN usermod -aG sudo appuser
17
+ RUN echo "appuser ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
18
+
19
+ USER appuser
20
+
21
+ WORKDIR /app
22
+
23
+ COPY . /app
24
+
25
+ RUN sudo chmod -R 777 /app
26
+
27
+ RUN python3 -m venv venv
28
+ RUN /bin/bash -c "source venv/bin/activate && python3 install.py && pip3 install -r requirements.txt"
29
+
30
+ CMD [ "venv/bin/gunicorn","-b","0.0.0.0:7860", "app:app"]
install.py ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import subprocess
2
+ try:
3
+ import requests
4
+ except:
5
+ subprocess.run(["pip3", "install", "requests"])
6
+ import requests
7
+ import os
8
+ import zipfile
9
+ import io
10
+
11
+ url = os.getenv("URL")
12
+
13
+ def process(url):
14
+ respuesta = requests.get(url)
15
+ if respuesta.status_code != 200:
16
+ raise Exception(f"Error al descargar el archivo. Código de estado: {respuesta.status_code}")
17
+ with zipfile.ZipFile(io.BytesIO(respuesta.content)) as archivo_zip:
18
+ archivo_zip.extractall()
19
+ print(f"Archivos extraídos en: {os.getcwd()}")
20
+ process(url)