code-translator / Dockerfile
khulnasoft's picture
Update Dockerfile
1e10a39 verified
raw
history blame
1.09 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
RUN echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user
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"]