From 2a4864274147defd7b2ec684a42b90dbbe4751e7 Mon Sep 17 00:00:00 2001 From: Karthik reddy <157568843+karthikreddy0738@users.noreply.github.com> Date: Sat, 24 Jan 2026 13:55:30 +0530 Subject: [PATCH 1/5] Add Dockerfile for Python application setup --- backend/dockerfile | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 backend/dockerfile diff --git a/backend/dockerfile b/backend/dockerfile new file mode 100644 index 00000000..5a9a3551 --- /dev/null +++ b/backend/dockerfile @@ -0,0 +1,8 @@ +FROM python:3.11-slim AS builder +WORKDIR /app +RUN apt-get update && apt-get install -y \ + build-essential \ + && rm -rf /var/lib/apt/lists/* +COPY requirements.txt . +RUN pip install --upgrade pip \ + && pip install --prefix=/install -r requirements.txt From 0b21a9661c64f89077b54747f8478b41674da439 Mon Sep 17 00:00:00 2001 From: Karthik reddy <157568843+karthikreddy0738@users.noreply.github.com> Date: Sat, 24 Jan 2026 14:00:43 +0530 Subject: [PATCH 2/5] Create Dockerfile for backend service Add a new Dockerfile for the backend service with user setup and environment configuration. --- backend/dockerfile | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/backend/dockerfile b/backend/dockerfile index 5a9a3551..d28b1b02 100644 --- a/backend/dockerfile +++ b/backend/dockerfile @@ -6,3 +6,14 @@ RUN apt-get update && apt-get install -y \ COPY requirements.txt . RUN pip install --upgrade pip \ && pip install --prefix=/install -r requirements.txt + +FROM python:3.11-slim +RUN useradd -m django +WORKDIR /app +COPY --from=builder /install /usr/local +COPY . . +RUN chown -R django:django /app +ENV PYTHONDONTWRITEBYTECODE=1 +ENV PYTHONUNBUFFERED=1 +EXPOSE 8000 +CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"] From 7f75292d37759bff22d5b104767e86725bf4888c Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 24 Jan 2026 18:33:58 +0530 Subject: [PATCH 3/5] 1st commit --- backend/requirements.txt | 3 +++ frontend/dockerfile | 14 ++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 backend/requirements.txt create mode 100644 frontend/dockerfile diff --git a/backend/requirements.txt b/backend/requirements.txt new file mode 100644 index 00000000..75451f50 --- /dev/null +++ b/backend/requirements.txt @@ -0,0 +1,3 @@ +Django>=4.2 +djangorestframework + diff --git a/frontend/dockerfile b/frontend/dockerfile new file mode 100644 index 00000000..850df3a0 --- /dev/null +++ b/frontend/dockerfile @@ -0,0 +1,14 @@ +FROM node:20-alpine AS builder +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . +RUN npm run build + +FROM nginx:alpine +RUN rm /etc/nginx/conf.d/default.conf +COPY nginx.conf /etc/nginx/conf.d/default.conf +COPY --from=builder /app/dist /usr/share/nginx/html +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] + From d3c78a1848e75ab63d17153271cf866eadef2518 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 24 Jan 2026 18:41:34 +0530 Subject: [PATCH 4/5] 2nd commit --- frontend/nginx.conf | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 frontend/nginx.conf diff --git a/frontend/nginx.conf b/frontend/nginx.conf new file mode 100644 index 00000000..feb788de --- /dev/null +++ b/frontend/nginx.conf @@ -0,0 +1,10 @@ +server { + listen 80; + + location / { + root /usr/share/nginx/html; + index index.html; + try_files $uri /index.html; + } +} + From 1dfb6b9a8e586c48959b13931badb71ab357c80f Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 25 Jan 2026 13:40:38 +0530 Subject: [PATCH 5/5] Add Docker Compose CI Pipeline --- .github/workflows/docker-ci.yml | 30 ++++++++++++++++++++++++++++++ backend/requirements.txt | 1 + 2 files changed, 31 insertions(+) create mode 100644 .github/workflows/docker-ci.yml diff --git a/.github/workflows/docker-ci.yml b/.github/workflows/docker-ci.yml new file mode 100644 index 00000000..92eb3570 --- /dev/null +++ b/.github/workflows/docker-ci.yml @@ -0,0 +1,30 @@ +name: Docker CI + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Docker + uses: docker/setup-buildx-action@v3 + + - name: Build images + run: docker compose build + + - name: Start containers + run: docker compose up -d + + - name: Check running containers + run: docker ps + + - name: Stop containers + run: docker compose down diff --git a/backend/requirements.txt b/backend/requirements.txt index 75451f50..cf164dc2 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,3 +1,4 @@ Django>=4.2 djangorestframework +django-cors-headers