hynky's picture
hynky HF staff
tmp
2bc648a
raw
history blame
863 Bytes
# Use an official Node runtime as the base image for building the application
FROM node:20 AS build
# Set the working directory in the container
WORKDIR /app
# Copy package.json and package-lock.json
COPY app/package*.json ./
# Install dependencies
RUN npm install
# Copy the rest of the application code
COPY app/ .
COPY analysis/data ../analysis/data
# Build the application
RUN npm run build
# Use an official Nginx runtime as the base image for serving the application
FROM nginx:alpine
# Set up a new user named "user" with user ID 1000
RUN addgroup -S user && adduser -S user -G user
# Switch to the "user" user
USER user
# Copy the built application from the build stage
COPY --chown=user --from=build /app/dist /usr/share/nginx/html
# Expose the port the app runs on
EXPOSE 80
# Command to run the application
CMD ["nginx", "-g", "daemon off;"]