This commit is contained in:
Luke Gustafson
2024-11-27 00:13:26 +00:00
parent 54510d0fbf
commit a9e652b1c8
13 changed files with 74 additions and 17 deletions

View File

@@ -0,0 +1,29 @@
# Stage 1: Build the React app (Frontend)
FROM node:18-slim AS frontend-build
WORKDIR /app
# Copy frontend files
COPY frontend/package*.json ./frontend/
WORKDIR /app/frontend
RUN npm install
COPY frontend/ .
RUN npm run build
# Stage 2: Setup Nginx to serve the React App
FROM nginx:alpine AS frontend-server
COPY --from=frontend-build /app/frontend/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
# Stage 3: Setup the Backend
FROM node:18-slim AS backend
WORKDIR /app
# Copy backend files
COPY backend/package*.json ./
RUN npm install
COPY backend/ .
# Run backend
EXPOSE 3001
CMD ["node", "/app/src/components/server.js"]

View File

@@ -1 +1 @@
{"version":1,"resource":"vscode-remote://coder.karmaashomepage.online/home/bugattiguy527/docker/Dockerfile","entries":[{"id":"TUF1","timestamp":1732635492973},{"id":"8otg","timestamp":1732635506681},{"id":"XU8z","source":"undoRedo.source","timestamp":1732635515769},{"id":"ars1","timestamp":1732635532917},{"id":"8UPb","timestamp":1732635628577},{"id":"gWeB","timestamp":1732635658901},{"id":"Z5sv","source":"undoRedo.source","timestamp":1732635671649},{"id":"J4VB","timestamp":1732635674581},{"id":"eNc9","timestamp":1732651223530}]} {"version":1,"resource":"vscode-remote://coder.karmaashomepage.online/home/bugattiguy527/docker/Dockerfile","entries":[{"id":"TUF1","timestamp":1732635492973},{"id":"8otg","timestamp":1732635506681},{"id":"XU8z","source":"undoRedo.source","timestamp":1732635515769},{"id":"ars1","timestamp":1732635532917},{"id":"8UPb","timestamp":1732635628577},{"id":"gWeB","timestamp":1732635658901},{"id":"Z5sv","source":"undoRedo.source","timestamp":1732635671649},{"id":"J4VB","timestamp":1732635674581},{"id":"eNc9","timestamp":1732651223530},{"id":"qz6w","timestamp":1732666102382},{"id":"dg9u","timestamp":1732666385636}]}

View File

@@ -0,0 +1,34 @@
# Stage 1: Build the React app (Frontend)
FROM node:18-slim AS frontend-build
WORKDIR /app
# Copy all project files into the image
COPY . .
# Install dependencies
RUN npm install
# Build the application
RUN npm run build
# Stage 2: Setup Nginx to serve the React App
FROM nginx:alpine AS frontend-server
# Copy built files from builder stage to nginx
COPY --from=frontend-build /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
# Stage 3: Setup the Backend
FROM node:18-slim AS backend
WORKDIR /app
# Copy package.json and package-lock.json
COPY package*.json ./
# Install dependencies
RUN npm install
# Run backend
EXPOSE 3001
CMD ["node", "/app/src/components/server.js"]

View File

@@ -1 +1 @@
{"pid":75467,"willReleaseAt":0} {"pid":136632,"willReleaseAt":0}

View File

@@ -2,20 +2,16 @@
FROM node:18-slim AS frontend-build FROM node:18-slim AS frontend-build
WORKDIR /app WORKDIR /app
# Copy all project files into the image # Copy frontend files
COPY . . COPY frontend/package*.json ./frontend/
WORKDIR /app/frontend
# Install dependencies
RUN npm install RUN npm install
COPY frontend/ .
# Build the application
RUN npm run build RUN npm run build
# Stage 2: Setup Nginx to serve the React App # Stage 2: Setup Nginx to serve the React App
FROM nginx:alpine AS frontend-server FROM nginx:alpine AS frontend-server
COPY --from=frontend-build /app/frontend/dist /usr/share/nginx/html
# Copy built files from builder stage to nginx
COPY --from=frontend-build /app/dist /usr/share/nginx/html
EXPOSE 80 EXPOSE 80
CMD ["nginx", "-g", "daemon off;"] CMD ["nginx", "-g", "daemon off;"]
@@ -23,13 +19,11 @@ CMD ["nginx", "-g", "daemon off;"]
FROM node:18-slim AS backend FROM node:18-slim AS backend
WORKDIR /app WORKDIR /app
# Copy package.json and package-lock.json # Copy backend files
COPY package*.json ./ COPY backend/package*.json ./
# Install dependencies
RUN npm install RUN npm install
COPY backend/ .
# Copy server.js from its new location # Run backend
COPY /app/src/components/server.js /app
EXPOSE 3001 EXPOSE 3001
CMD ["node", "/app/src/components/server.js"] CMD ["node", "/app/src/components/server.js"]

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB