From 3a9b24d065bb78ac896d54988e5539e0bd9a14d0 Mon Sep 17 00:00:00 2001 From: acidmikk Date: Tue, 21 Nov 2023 21:56:09 +0400 Subject: [PATCH] init commit --- basharin_sevastyan_lab_3/docker-compose.yaml | 43 +++++++++++++++++++ .../message_app/Dockerfile | 8 ++++ basharin_sevastyan_lab_3/message_app/main.py | 0 .../message_app/requirements.txt | 2 + basharin_sevastyan_lab_3/nginx.conf | 28 ++++++++++++ basharin_sevastyan_lab_3/user_app/Dockerfile | 8 ++++ basharin_sevastyan_lab_3/user_app/main.py | 6 +++ .../user_app/requirements.txt | 2 + 8 files changed, 97 insertions(+) create mode 100644 basharin_sevastyan_lab_3/docker-compose.yaml create mode 100644 basharin_sevastyan_lab_3/message_app/Dockerfile create mode 100644 basharin_sevastyan_lab_3/message_app/main.py create mode 100644 basharin_sevastyan_lab_3/message_app/requirements.txt create mode 100644 basharin_sevastyan_lab_3/nginx.conf create mode 100644 basharin_sevastyan_lab_3/user_app/Dockerfile create mode 100644 basharin_sevastyan_lab_3/user_app/main.py create mode 100644 basharin_sevastyan_lab_3/user_app/requirements.txt diff --git a/basharin_sevastyan_lab_3/docker-compose.yaml b/basharin_sevastyan_lab_3/docker-compose.yaml new file mode 100644 index 0000000..1140c63 --- /dev/null +++ b/basharin_sevastyan_lab_3/docker-compose.yaml @@ -0,0 +1,43 @@ +version: '3' + +services: + nginx: + image: nginx:latest + ports: + - 80:80 + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + restart: always + depends_on: + - product-service + - order-service + networks: + - mynetwork + + db: + image: postgres:latest + ports: + - 5432:5432 + environment: + POSTGRES_PASSWORD: admin + POSTGRES_USER: admin + POSTGRES_DB: message-api + volumes: + - ./database.sql:/docker-entrypoint-initdb.d/database.sql + restart: always + networks: + - mynetwork + + user_app: + build: + context: /user_app + dockerfile: Dockerfile + + message_app: + build: + context: /message_app + dockerfile: Dockerfile + +networks: + mynetwork: + driver: bridge \ No newline at end of file diff --git a/basharin_sevastyan_lab_3/message_app/Dockerfile b/basharin_sevastyan_lab_3/message_app/Dockerfile new file mode 100644 index 0000000..77d7b3c --- /dev/null +++ b/basharin_sevastyan_lab_3/message_app/Dockerfile @@ -0,0 +1,8 @@ +FROM python:3.9 +WORKDIR /app +COPY requirements.txt . +RUN pip install -r requirements.txt +COPY . . +COPY var/data /var/data +COPY var/result /var/result +CMD ["python", "main.py"] \ No newline at end of file diff --git a/basharin_sevastyan_lab_3/message_app/main.py b/basharin_sevastyan_lab_3/message_app/main.py new file mode 100644 index 0000000..e69de29 diff --git a/basharin_sevastyan_lab_3/message_app/requirements.txt b/basharin_sevastyan_lab_3/message_app/requirements.txt new file mode 100644 index 0000000..5beea3b --- /dev/null +++ b/basharin_sevastyan_lab_3/message_app/requirements.txt @@ -0,0 +1,2 @@ +Flask==3.0.0 +Werkzeug==3.0.1 \ No newline at end of file diff --git a/basharin_sevastyan_lab_3/nginx.conf b/basharin_sevastyan_lab_3/nginx.conf new file mode 100644 index 0000000..13ebcea --- /dev/null +++ b/basharin_sevastyan_lab_3/nginx.conf @@ -0,0 +1,28 @@ +events { + worker_connections 1024; +} + +http { + + upstream user-service { + server product-service:8080; + } + upstream message-service { + server order-service:8081; + } + + server { + + listen 80; + listen [::]:80; + server_name localhost; + + location /user-service/ { + proxy_pass http://user-service/; + } + + location /message-service/ { + proxy_pass http://message-service/; + } + } +} \ No newline at end of file diff --git a/basharin_sevastyan_lab_3/user_app/Dockerfile b/basharin_sevastyan_lab_3/user_app/Dockerfile new file mode 100644 index 0000000..77d7b3c --- /dev/null +++ b/basharin_sevastyan_lab_3/user_app/Dockerfile @@ -0,0 +1,8 @@ +FROM python:3.9 +WORKDIR /app +COPY requirements.txt . +RUN pip install -r requirements.txt +COPY . . +COPY var/data /var/data +COPY var/result /var/result +CMD ["python", "main.py"] \ No newline at end of file diff --git a/basharin_sevastyan_lab_3/user_app/main.py b/basharin_sevastyan_lab_3/user_app/main.py new file mode 100644 index 0000000..46d2a8f --- /dev/null +++ b/basharin_sevastyan_lab_3/user_app/main.py @@ -0,0 +1,6 @@ +from flask import Flask + +app = Flask(__name__) + +if __name__ == '__main__': + app.run(host='0.0.0.0', port=5000) diff --git a/basharin_sevastyan_lab_3/user_app/requirements.txt b/basharin_sevastyan_lab_3/user_app/requirements.txt new file mode 100644 index 0000000..5beea3b --- /dev/null +++ b/basharin_sevastyan_lab_3/user_app/requirements.txt @@ -0,0 +1,2 @@ +Flask==3.0.0 +Werkzeug==3.0.1 \ No newline at end of file