Skip to content

Instantly share code, notes, and snippets.

@ivanzigoni
Created January 9, 2025 17:24
Show Gist options
  • Save ivanzigoni/bce4da72b5c9f5fb4b3933f9ad1509cc to your computer and use it in GitHub Desktop.
Save ivanzigoni/bce4da72b5c9f5fb4b3933f9ad1509cc to your computer and use it in GitHub Desktop.
[DRAFT] base dockerfile for production
FROM public.ecr.aws/docker/library/node:18-alpine AS base
RUN apk upgrade \
&& apk add dumb-init \
&& rm -rf /var/cache/apk/* /tmp/*
# ---------------------------------------------------------------------------- #
FROM base AS development
RUN apk upgrade \
&& apk add dumb-init \
&& rm -rf /var/cache/apk/* /tmp/*
ENV NODE_ENV development
WORKDIR /app
ADD package*.json ./
RUN npm install \
--ignore-scripts \
--prefer-dedupe \
--no-audit \
&& npm cache clean --force
COPY . .
RUN npm run build
CMD ["dumb-init", "npm", "run", "start"]
# ---------------------------------------------------------------------------- #
FROM public.ecr.aws/docker/library/node:18-alpine AS builder
ENV NODE_ENV development
WORKDIR /app
ADD package*.json ./
RUN npm install \
--ignore-scripts \
--prefer-dedupe \
--no-audit \
&& npm cache clean --force
COPY . .
RUN npm run build
# ---------------------------------------------------------------------------- #
FROM base AS production
ENV NODE_ENV production
WORKDIR /app
ADD package*.json ./
RUN npm install \
--ignore-scripts \
--prefer-dedupe \
--no-audit \
&& npm cache clean --force
COPY --from=builder /app/dist ./dist
COPY --from=development /app/assets ./assets
CMD ["dumb-init", "npm", "run", "start"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment