ConceptPortal-public/rsconcept/frontend/Dockerfile

37 lines
734 B
Docker
Raw Normal View History

2023-07-15 17:46:19 +03:00
# ======== Multi-stage base ==========
2024-07-19 19:41:00 +03:00
FROM node:20-bullseye-slim AS node-base
2023-07-15 17:46:19 +03:00
RUN apt-get update -qq && \
apt-get upgrade -y && \
rm -rf /var/lib/apt/lists/*
# ======= Build =======
ARG BUILD_TYPE=production
2024-07-19 19:41:00 +03:00
FROM node-base AS builder
2023-07-15 17:46:19 +03:00
WORKDIR /result
COPY ./ ./
COPY ./env/.env.$BUILD_TYPE ./
RUN rm -rf ./env
2024-04-14 15:36:41 +03:00
RUN npm ci
2023-08-08 16:14:58 +03:00
ENV NODE_ENV production
2023-07-15 17:46:19 +03:00
RUN npm run build
# ========= Server =======
2024-07-19 19:41:00 +03:00
FROM node-base AS product-server
2023-07-15 17:46:19 +03:00
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/dist ./
2023-07-15 17:46:19 +03:00
# Start server through docker-compose
# serve -s /home/node -l 3000