From a2d5c7a7b3607ea162b0530526f89d8e6fb7dcea Mon Sep 17 00:00:00 2001
From: Harish <hn00625@surrey.ac.uk>
Date: Tue, 22 Apr 2025 14:42:06 +0100
Subject: [PATCH] Dockerfile created for deployment

---
 Startup-app/backend/.env        |  1 +
 Startup-app/backend/Dockerfile  | 12 ++++++++++++
 Startup-app/docker-compose.yml  | 30 ++++++++++++++++++++++++++++++
 Startup-app/frontend/Dockerfile | 16 ++++++++++++++++
 4 files changed, 59 insertions(+)
 create mode 100644 Startup-app/backend/Dockerfile
 create mode 100644 Startup-app/docker-compose.yml
 create mode 100644 Startup-app/frontend/Dockerfile

diff --git a/Startup-app/backend/.env b/Startup-app/backend/.env
index 89245c32..3009f7f1 100644
--- a/Startup-app/backend/.env
+++ b/Startup-app/backend/.env
@@ -1,3 +1,4 @@
 MONGO_URI=mongodb://localhost:27017/startup-app
 JWT_SECRET=ec6d7c478184b984004bc40dc8aa6dea66611de506ee34a8dad93e0cfc524701
 PORT=5001
+FRONTEND_URL=http://localhost:3000
\ No newline at end of file
diff --git a/Startup-app/backend/Dockerfile b/Startup-app/backend/Dockerfile
new file mode 100644
index 00000000..094c4315
--- /dev/null
+++ b/Startup-app/backend/Dockerfile
@@ -0,0 +1,12 @@
+FROM node:18
+
+WORKDIR /app
+
+COPY package*.json ./
+RUN npm install
+
+COPY . .
+
+EXPOSE 5001
+
+CMD ["node", "server.js"]
diff --git a/Startup-app/docker-compose.yml b/Startup-app/docker-compose.yml
new file mode 100644
index 00000000..6a5be4a2
--- /dev/null
+++ b/Startup-app/docker-compose.yml
@@ -0,0 +1,30 @@
+version: '3.8'
+
+services:
+  frontend:
+    build: ./frontend
+    ports:
+      - "3000:3000"
+    restart: always
+
+  backend:
+    build: ./backend
+    ports:
+      - "5001:5001"
+    environment:
+      - MONGO_URI=mongodb://mongo:27017/startup
+      - FRONTEND_URL=http://localhost:3000
+    depends_on:
+      - mongo
+    restart: always
+
+  mongo:
+    image: mongo
+    restart: always
+    ports:
+      - "27017:27017"
+    volumes:
+      - mongodb_data:/data/db
+
+volumes:
+  mongodb_data:
diff --git a/Startup-app/frontend/Dockerfile b/Startup-app/frontend/Dockerfile
new file mode 100644
index 00000000..b3443b94
--- /dev/null
+++ b/Startup-app/frontend/Dockerfile
@@ -0,0 +1,16 @@
+FROM node:18
+
+WORKDIR /app
+
+COPY package*.json ./
+RUN npm install
+
+COPY . .
+
+RUN npm run build
+
+RUN npm install -g serve
+
+EXPOSE 3000
+
+CMD ["serve", "-s", "dist"]
-- 
GitLab