Add Dockerfiles and docker-compose for local deployment

This commit is contained in:
2026-09-22 13:08:34 +05:30
parent cd2770e590
commit a71c5fa1fa
3 changed files with 73 additions and 0 deletions
+12
View File
@@ -0,0 +1,12 @@
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 5000
CMD ["node", "server.js"]
+36
View File
@@ -0,0 +1,36 @@
version: '3.8'
services:
frontend:
build:
context: ./frontend
args:
- REACT_APP_API_URL=http://localhost:9501
ports:
- "9500:80"
depends_on:
- backend
backend:
build:
context: ./backend
ports:
- "9501:5000"
environment:
- PORT=5000
- MONGO_URI=mongodb://mongo:27017/elixify
# The rest are read from backend/.env or can be defined here
env_file:
- ./backend/.env
depends_on:
- mongo
mongo:
image: mongo:latest
ports:
- "9502:27017"
volumes:
- mongo-data:/data/db
volumes:
mongo-data:
+25
View File
@@ -0,0 +1,25 @@
# Build stage
FROM node:18-alpine as build
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
# We inject the API URL for production build so nginx serves the correct config
ARG REACT_APP_API_URL
ENV REACT_APP_API_URL=$REACT_APP_API_URL
RUN npm run build
# Serve stage
FROM nginx:alpine
COPY --from=build /app/build /usr/share/nginx/html
# Expose port 80 for Nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]