# Use a specific version of the node image as a base FROM node:16-alpine # Install necessary dependencies including JDK, Python, pip, and g++ RUN apk add --no-cache openjdk11 python3 py3-pip g++ # Set working directory WORKDIR /code # Copy package.json and package-lock.json and install dependencies COPY package*.json ./ RUN npm install --production # Copy the rest of the application files COPY . . # Create a directory for temporary files RUN mkdir -p /code/temp # Set permissions for the /code/temp directory RUN chown -R node:node /code/temp # Expose port EXPOSE 7860 # Set user to non-root USER node # Start Node.js application CMD ["node", "index.js"]