From 7ddffa9220c320c4abecfb466d188ae023b6c38e Mon Sep 17 00:00:00 2001
From: rfhf19 <rfhf19@inf.ufpr.br>
Date: Thu, 12 Sep 2024 09:56:43 -0300
Subject: [PATCH] Docker created

---
 Dockerfile.prod         | 25 +++++++++++++++++++++++++
 app.py => app/parser.py |  2 +-
 docker-compose.yml      | 12 ++++++++++++
 requirements.txt        |  3 +++
 4 files changed, 41 insertions(+), 1 deletion(-)
 create mode 100644 Dockerfile.prod
 rename app.py => app/parser.py (98%)
 create mode 100644 docker-compose.yml
 create mode 100644 requirements.txt

diff --git a/Dockerfile.prod b/Dockerfile.prod
new file mode 100644
index 0000000..78fced8
--- /dev/null
+++ b/Dockerfile.prod
@@ -0,0 +1,25 @@
+# Usar a imagem oficial do Python como base
+FROM python:3.9-slim
+
+# Define a variável de ambiente para desabilitar a criação de arquivos .pyc
+ENV PYTHONDONTWRITEBYTECODE 1
+# Define a variável de ambiente para não armazenar em cache as instalações do Python
+ENV PYTHONUNBUFFERED 1
+
+# Define o diretório de trabalho no contêiner
+WORKDIR /app
+
+# Instala as dependências do sistema
+RUN apt-get update \
+    && apt-get install -y --no-install-recommends gcc \
+    && rm -rf /var/lib/apt/lists/*
+
+# Copia os arquivos de código para o contêiner
+COPY . .
+
+# Instala as dependências do Python
+RUN pip install --no-cache-dir -r requirements.txt
+
+# Comando para iniciar o servidor WSGI (substitua "app:app" pelo nome do módulo e da instância da aplicação Flask)
+CMD ["gunicorn", "--bind", "0.0.0.0:5000", "parser:app"]
+
diff --git a/app.py b/app/parser.py
similarity index 98%
rename from app.py
rename to app/parser.py
index 6986e95..4d7c131 100644
--- a/app.py
+++ b/app/parser.py
@@ -112,7 +112,7 @@ def delete_post(post_id, content_type):
     
 
 
-@app.route('/run-script', methods=['POST'])
+@app.route('/', methods=['POST'])
 def run_script():
     data = request.json
     #print("Dados recebidos:", data)
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..f386562
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,12 @@
+
+services:
+  parser:
+    build:
+      context: .
+      dockerfile: Dockerfile.prod
+    ports:
+      - "5000:5000"
+    volumes:
+      - ./app:/app
+    environment:
+      - FLASK_ENV=production
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..f941d23
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,3 @@
+flask
+gunicorn
+requests
-- 
GitLab