Add fullstack example
This commit is contained in:
@ -1,10 +1,37 @@
|
||||
FROM node:22-alpine AS base
|
||||
WORKDIR /backend
|
||||
COPY package.json .
|
||||
RUN yarn install
|
||||
COPY index.js .
|
||||
FROM node:lts-alpine3.22 AS base
|
||||
HEALTHCHECK --interval=5s --timeout=10s --start-period=5s --retries=5 \
|
||||
CMD sh -c 'wget --no-verbose --tries=1 --spider http://127.0.0.1:3333 || exit 1'
|
||||
|
||||
FROM base AS develop
|
||||
COPY --from=base /backend/ .
|
||||
EXPOSE 3000
|
||||
ENTRYPOINT [ "node", "--watch", "index.js" ]
|
||||
# All deps stage
|
||||
FROM base AS deps
|
||||
WORKDIR /app
|
||||
ADD package.json package-lock.json ./
|
||||
RUN npm ci
|
||||
|
||||
FROM deps AS develop
|
||||
WORKDIR /app
|
||||
ENV NODE_ENV=development
|
||||
EXPOSE 3333
|
||||
|
||||
# Production only deps stage
|
||||
FROM base AS production-deps
|
||||
WORKDIR /app
|
||||
ADD package.json package-lock.json ./
|
||||
RUN npm ci --omit=dev
|
||||
|
||||
# Build stage
|
||||
FROM base AS build
|
||||
WORKDIR /app
|
||||
COPY --from=deps /app/node_modules /app/node_modules
|
||||
ADD . .
|
||||
RUN node ace build
|
||||
|
||||
# Production stage
|
||||
FROM base
|
||||
ENV NODE_ENV=production
|
||||
WORKDIR /app
|
||||
COPY --from=production-deps /app/node_modules /app/node_modules
|
||||
COPY --from=build /app/build /app
|
||||
EXPOSE 8080
|
||||
|
||||
CMD ["node", "./bin/server.js"]
|
Reference in New Issue
Block a user