From eb8201d4a1041b5af83b6bd77b3bcf4139f849dd Mon Sep 17 00:00:00 2001 From: Marcin-Ramotowski Date: Wed, 27 Dec 2023 10:50:38 +0000 Subject: [PATCH] Created docker environment for API --- Dockerfile | 5 +++++ app.py | 19 ------------------- docker-compose.yml | 13 +++++++++++++ src/app.py | 18 ++++++++++++++++++ models.py => src/models.py | 0 requirements.txt => src/requirements.txt | 0 task_views.py => src/task_views.py | 0 user_views.py => src/user_views.py | 0 8 files changed, 36 insertions(+), 19 deletions(-) create mode 100644 Dockerfile delete mode 100644 app.py create mode 100644 docker-compose.yml create mode 100644 src/app.py rename models.py => src/models.py (100%) rename requirements.txt => src/requirements.txt (100%) rename task_views.py => src/task_views.py (100%) rename user_views.py => src/user_views.py (100%) diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c0053b2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM python:3.11.7-slim-bookworm +WORKDIR /app +COPY src . +RUN pip install -r requirements.txt +CMD python3 app.py diff --git a/app.py b/app.py deleted file mode 100644 index 7e132c7..0000000 --- a/app.py +++ /dev/null @@ -1,19 +0,0 @@ -from flask import Flask -from models import db -from user_views import user_bp -from task_views import task_bp -from dotenv import load_dotenv -import os - -load_dotenv() - -app = Flask(__name__) -app.config['SQLALCHEMY_DATABASE_URI'] = os.getenv('DATABASE_URI') -app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True -app.register_blueprint(user_bp) -app.register_blueprint(task_bp) - -db.init_app(app) - -with app.app_context(): - db.create_all() diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..7f9b5cd --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,13 @@ +version: '3.7' + +services: + web: + container_name: todo-api + hostname: todo-api + build: . + env_file: + - src/.env + ports: + - "5000:5000" + volumes: + - ./src/test.db:/app/test.db diff --git a/src/app.py b/src/app.py new file mode 100644 index 0000000..c928785 --- /dev/null +++ b/src/app.py @@ -0,0 +1,18 @@ +from flask import Flask +from models import db +from user_views import user_bp +from task_views import task_bp +from dotenv import load_dotenv +import os + +if __name__ == "__main__": + load_dotenv() + app = Flask(__name__) + app.config['SQLALCHEMY_DATABASE_URI'] = os.getenv('DATABASE_URI') + app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True + app.register_blueprint(user_bp) + app.register_blueprint(task_bp) + db.init_app(app) + with app.app_context(): + db.create_all() + app.run(debug=True, host='0.0.0.0') diff --git a/models.py b/src/models.py similarity index 100% rename from models.py rename to src/models.py diff --git a/requirements.txt b/src/requirements.txt similarity index 100% rename from requirements.txt rename to src/requirements.txt diff --git a/task_views.py b/src/task_views.py similarity index 100% rename from task_views.py rename to src/task_views.py diff --git a/user_views.py b/src/user_views.py similarity index 100% rename from user_views.py rename to src/user_views.py