webservices-app/Dockerfile

38 lines
989 B
Text
Raw Normal View History

# ref: https://khromov.se/dockerizing-your-sveltekit-applications-a-practical-guide/
#
# Use this image as the platform to build the app
FROM node:22-alpine AS builder
# A small line inside the image to show who made it
LABEL Developers="Dave Lane, dave@laneventures.nz"
# The WORKDIR instruction sets the working directory for everything that will happen next
WORKDIR /app
# Copy all local files into the image
COPY package*.json .
# Clean install all node modules
RUN npm ci
COPY . .
# Build SvelteKit app
RUN npm run build
RUN npm prune --production
FROM node:22-alpine
WORKDIR /app
COPY --from=builder /app/build build/
COPY --from=builder /app/node_modules node_modules/
COPY package.json .
EXPOSE 5050
ENV NODE_ENV=production
# The USER instruction sets the user name to use as the default user for the remainder of the current stage
USER node:node
# This is the command that will be run inside the image when you tell Docker to start the container
CMD [ "node", "build" ]