From 57113aabd78590f6bed1021bdefa0c2de91f6a19 Mon Sep 17 00:00:00 2001
From: Iheb Boussida <iheb.boussida@stud.h-da.de>
Date: Mon, 30 Sep 2024 22:10:11 +0200
Subject: [PATCH] first commit

---
 app.py             |   6 +++---
 docker-compose.yml |  28 ++++++++++++++++++++++++++++
 dockerfile         |  10 ++++++++++
 solution.tar.gz    | Bin 0 -> 18667 bytes
 4 files changed, 41 insertions(+), 3 deletions(-)
 create mode 100644 docker-compose.yml
 create mode 100644 dockerfile
 create mode 100644 solution.tar.gz

diff --git a/app.py b/app.py
index 06c2034..dd7997f 100644
--- a/app.py
+++ b/app.py
@@ -11,7 +11,7 @@ app.config['MYSQL_USER'] = os.getenv('MYSQL_USER')
 app.config['MYSQL_PASSWORD'] = os.getenv('MYSQL_PASSWORD')
 app.config['MYSQL_DB'] = os.getenv('MYSQL_DB')
 
-
+print (os.getenv('MYSQL_HOST')); 
 # Initialize MySQL
 mysql = MySQL(app)
 
@@ -69,10 +69,10 @@ def delete_user(id):
     cursor.close()
     return jsonify({'message': 'User deleted successfully!'})
 
+
 @app.route('/')
 def hello_world():
-    return f'Hello, from flask app!'
+    return f'I am Hayfa rajhi '
 
 if __name__ == '__main__':
     app.run(debug=True, host=os.environ.get('FLASK_RUN_HOST', '0.0.0.0'), port=int(os.environ.get('FLASK_RUN_PORT', 5000)))
-
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..e2e2431
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,28 @@
+version: '3.9'
+services:
+  dev:
+    build: 
+      context: .
+      dockerfile: dockerfile
+    ports:
+      - 5000:5000
+    environment:
+      - MYSQL_HOST=db
+      - MYSQL_USER=root
+      - MYSQL_PASSWORD=haifa
+      - MYSQL_DB=workshop
+    volumes:
+      - .:/app
+    depends_on:
+      - db
+  db:
+    image: mysql:5.7
+    environment:
+      - MYSQL_ROOT_PASSWORD=haifa
+    volumes:
+      - db_data:/var/lib/mysql
+      - ./scripts:/docker-entrypoint-initdb.d     
+    ports:
+      - "3306:3306"
+volumes:
+  db_data:
\ No newline at end of file
diff --git a/dockerfile b/dockerfile
new file mode 100644
index 0000000..5f2020b
--- /dev/null
+++ b/dockerfile
@@ -0,0 +1,10 @@
+FROM python:latest 
+
+WORKDIR /app
+
+COPY requirements.txt requirements.txt
+RUN pip3 install -r requirements.txt
+
+COPY . .
+
+CMD [ "python3", "app.py","--host=0.0.0.0"]
\ No newline at end of file
diff --git a/solution.tar.gz b/solution.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e308f2d60f597e1a2af0d412b5b6fdacc5645283
GIT binary patch
literal 18667
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

literal 0
HcmV?d00001

-- 
GitLab