From b62891823ed02e6b1b53d4ebfc67890849db7863 Mon Sep 17 00:00:00 2001 From: Vitalii Vodolazkyi Date: Tue, 12 May 2026 11:43:10 +0200 Subject: [PATCH 1/2] Add Docker support for todo app --- Dockerfile | 38 ++++++++++++++++++++++++++++++++++++++ INSTRUCTION.md | 29 +++++++++++++++++++++++++++++ todolist/settings.py | 2 +- 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 Dockerfile create mode 100644 INSTRUCTION.md diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b6f2cd5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,38 @@ +# ========================= +# Build stage +# ========================= +ARG PYTHON_VERSION=3.11 + +FROM python:${PYTHON_VERSION}-slim AS builder + +WORKDIR /app + +ENV PYTHONUNBUFFERED=1 + +COPY requirements.txt . + +RUN pip install --upgrade pip && \ + pip install --no-cache-dir -r requirements.txt + +COPY . . + +RUN python manage.py migrate + +# ========================= +# Run stage +# ========================= +FROM python:${PYTHON_VERSION}-slim + +WORKDIR /app + +ENV PYTHONUNBUFFERED=1 + +# Copy installed packages +COPY --from=builder /usr/local /usr/local + +# Copy app +COPY --from=builder /app /app + +EXPOSE 8080 + +CMD ["python", "manage.py", "runserver", "0.0.0.0:8080"] \ No newline at end of file diff --git a/INSTRUCTION.md b/INSTRUCTION.md new file mode 100644 index 0000000..aff9b82 --- /dev/null +++ b/INSTRUCTION.md @@ -0,0 +1,29 @@ +# ToDo App Docker Instructions + +## Docker Hub Repository + +https://hub.docker.com/r/grom201/todoapp + +--- + +## Build image + +```bash +docker build -t todoapp:1.0.0 . +``` + +--- + +## Run container + +```bash +docker run -p 8080:8080 grom201/todoapp:1.0.0 +``` + +--- + +## Access application + +Open browser: + +http://localhost:8080 \ No newline at end of file diff --git a/todolist/settings.py b/todolist/settings.py index 3b61725..e3eaa68 100644 --- a/todolist/settings.py +++ b/todolist/settings.py @@ -23,7 +23,7 @@ # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True -ALLOWED_HOSTS = [] +ALLOWED_HOSTS = ['*'] DEFAULT_AUTO_FIELD = "django.db.models.AutoField" From c2cb0b10f26cf69be776eb9386f0a7761f924b44 Mon Sep 17 00:00:00 2001 From: Vitalii Vodolazkyi Date: Tue, 12 May 2026 11:48:06 +0200 Subject: [PATCH 2/2] Add Docker support for todo app --- INSTRUCTION.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/INSTRUCTION.md b/INSTRUCTION.md index aff9b82..012e1da 100644 --- a/INSTRUCTION.md +++ b/INSTRUCTION.md @@ -26,4 +26,14 @@ docker run -p 8080:8080 grom201/todoapp:1.0.0 Open browser: -http://localhost:8080 \ No newline at end of file +http://localhost:8080 + +## Push image to Docker Hub + +```bash +docker login + +docker tag todoapp:1.0.0 grom201/todoapp:1.0.0 + +docker push grom201/todoapp:1.0.0 +``` \ No newline at end of file