Spaces:
Runtime error
Runtime error
# Use the official Node.js image as the base image | |
FROM node:14 | |
# Set the working directory inside the container | |
WORKDIR /app | |
# Change ownership of the working directory to the non-root user | |
RUN adduser --disabled-password --gecos '' --shell /bin/bash user \ | |
&& chown -R user:user /app | |
USER user | |
# All users can use /home/user as their home directory | |
ENV HOME=/home/user | |
RUN mkdir $HOME/.cache $HOME/.config \ | |
&& chmod -R 777 $HOME | |
WORKDIR $HOME/app | |
####################################### | |
# Start root user section | |
####################################### | |
USER root | |
# Copy package.json and package-lock.json to the working directory | |
COPY package*.json ./ | |
# Copy the current directory contents into the container at $HOME/app setting the owner to the user | |
COPY --chown=user . $HOME/app | |
# Install the dependencies | |
RUN npm ci | |
# Copy the rest of the application code to the working directory | |
COPY --chown=user . . | |
# Expose the port the app will run on | |
EXPOSE 3001 | |
# Start the application | |
CMD ["npm", "run", "dev"] | |