2024-08-29 11:40:28 +12:00
|
|
|
# Use this image as the platform to build the app
|
|
|
|
FROM node:20.11-alpine AS external-website
|
2024-08-16 17:01:16 +12:00
|
|
|
|
2024-08-29 11:40:28 +12:00
|
|
|
# A small line inside the image to show who made it
|
|
|
|
LABEL Developers="Dave Lane, dave@laneventures.nz"
|
2024-08-16 17:01:16 +12:00
|
|
|
|
2024-08-29 11:40:28 +12:00
|
|
|
# The WORKDIR instruction sets the working directory for everything that will happen next
|
2024-08-16 17:01:16 +12:00
|
|
|
WORKDIR /app
|
|
|
|
|
2024-08-29 11:40:28 +12:00
|
|
|
# Copy all local files into the image
|
2024-08-16 17:01:16 +12:00
|
|
|
COPY . .
|
|
|
|
|
2024-08-29 11:40:28 +12:00
|
|
|
# Clean install all node modules
|
|
|
|
RUN npm ci
|
|
|
|
|
|
|
|
# Build SvelteKit app
|
|
|
|
RUN npm run build
|
|
|
|
|
|
|
|
# Delete source code files that were used to build the app that are no longer needed
|
|
|
|
RUN rm -rf src/ static/ emailTemplates/ docker-compose.yml
|
|
|
|
|
|
|
|
# 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/index.js"]
|