Files

27 lines
658 B
Docker

# Base Node Environment.
FROM node:22-alpine AS app-base
WORKDIR /app
ENV PATH=/app/node_modules/.bin:$PATH
COPY package.json ./
COPY package-lock.json ./
COPY . ./
# Dev environment.
FROM app-base AS final-dev
RUN npm install
ENV CHOKIDAR_USEPOLLING=true
CMD ["npm", "run", "dev"]
# Build app for production.
FROM app-base AS builder
RUN npm ci && npm run build
# production environment
FROM nginx:stable-alpine AS final-prod
COPY --from=builder /app/dist /usr/share/nginx/html
COPY /public /usr/share/nginx/html/public
COPY scripts/env.sh /docker-entrypoint.d/env.sh
EXPOSE 80
RUN chmod +x /docker-entrypoint.d/env.sh
CMD ["nginx", "-g", "daemon off;"]