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 | |
| 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"] | |