ConceptPortal-public/rsconcept/frontend/Dockerfile

39 lines
774 B
Docker
Raw Normal View History

2023-07-15 17:46:19 +03:00
# ======== Multi-stage base ==========
FROM node:bullseye-slim as node-base
RUN apt-get update -qq && \
apt-get upgrade -y && \
rm -rf /var/lib/apt/lists/*
# ======= Build =======
FROM node-base as builder
ENV NODE_ENV production
WORKDIR /result
# Install dependencies
COPY *.json *.js ./
RUN npm ci --only=production
# Build deployment files
COPY ./public ./public
COPY ./src ./src
RUN npm run build
# ========= Server =======
FROM node-base as product-server
ENV NODE_ENV production
# Install serve util
RUN npm install -g serve
# Setup USER
RUN adduser --system --group app
USER node
# Bring up deployment files
WORKDIR /home/node
COPY --chown=node:node --from=builder /result/build ./
# Start server through docker-compose
# serve -s /home/node -l 3000