code-translator / Dockerfile
khulnasoft's picture
Update Dockerfile
c81b961 verified
raw
history blame
1.03 kB
# 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"]