From 4c0b724bd476ea69fd186460eec47e87f70623de Mon Sep 17 00:00:00 2001 From: Kovalenko Ivan Date: Sun, 13 Jul 2025 17:41:20 +0300 Subject: [PATCH] last task added --- 6/.env | 3 +++ 6/Dockerfile | 6 ++++++ 6/app.py | 20 ++++++++++++++++++++ 6/docker-compose.yml | 27 +++++++++++++++++++++++++++ 6/requirements.txt | 2 ++ 5 files changed, 58 insertions(+) create mode 100644 6/.env create mode 100644 6/Dockerfile create mode 100644 6/app.py create mode 100644 6/docker-compose.yml create mode 100644 6/requirements.txt diff --git a/6/.env b/6/.env new file mode 100644 index 0000000..2252def --- /dev/null +++ b/6/.env @@ -0,0 +1,3 @@ +POSTGRES_USER=sh33sh +POSTGRES_DB=sh33sh +POSTGRES_PASSWORD=v3ry53cur3p455 diff --git a/6/Dockerfile b/6/Dockerfile new file mode 100644 index 0000000..3c0165a --- /dev/null +++ b/6/Dockerfile @@ -0,0 +1,6 @@ +FROM python:3.12-slim +RUN pip install --no-cache-dir flask psycopg2-binary +COPY app.py . +EXPOSE 5000 +ENTRYPOINT ["python"] +CMD ["app.py"] diff --git a/6/app.py b/6/app.py new file mode 100644 index 0000000..572b0dc --- /dev/null +++ b/6/app.py @@ -0,0 +1,20 @@ +from flask import Flask +import psycopg2 +app = Flask(__name__) + +@app.route("/") +def home(): + try: + conn = psycopg2.connect( + dbname="sh33sh", # 3ameHnTe Ha uma Bf] u3 docker-compose.yml + user="sh33sh", # 3aMeHuTe Ha NoMbsoBaTena U3 docker-compose.yml + password="v3ry53cur3p455", # 3ameHuTe Ha Napolb u3 docker-compose.yml + host="psql" # 3ameHvTe Ha uma CepBica 6a3bl DaHHbIx U3 docker-compose.yml + ) + conn.close() + return "Connected to the database successfully!" + except Exception as e: + return f"Error: {e}" + +if __name__ == "__main__": + app.run(host="0.0.0.0", port=5000) diff --git a/6/docker-compose.yml b/6/docker-compose.yml new file mode 100644 index 0000000..877e5f0 --- /dev/null +++ b/6/docker-compose.yml @@ -0,0 +1,27 @@ +version: '3.9' + +services: + postgres: + image: postgres:17.5 + container_name: psql + restart: unless-stopped + environment: + - POSTGRES_USER=${POSTGRES_USER} + - POSTGRES_DB=${POSTGRES_DB} + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + ports: + - "5432:5432" + networks: [giga6] + command: ["postgres"] + +# bruh, это было вообще неочевидно и пришлось лезть в чатгпт + webapp: + build: . + container_name: flask + networks: [giga6] + ports: + - "5000:5000" + +networks: + giga6: + driver: bridge diff --git a/6/requirements.txt b/6/requirements.txt new file mode 100644 index 0000000..632ab7f --- /dev/null +++ b/6/requirements.txt @@ -0,0 +1,2 @@ +flask +psycopg2-binary