FROM node:18-alpine

# Create app directory
WORKDIR /usr/src/app

# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
COPY back/package*.json ./back/
COPY front/package*.json ./front/

WORKDIR /usr/src/app/back
RUN npm ci --only=production

WORKDIR /usr/src/app/front
RUN npm ci --only=production

# Bundle app source
WORKDIR /usr/src/app
COPY . .

EXPOSE 5000
CMD [ "node", "back/server.js" ]
