# Use the latest Python image as the base image FROM python:latest # Set environment variables ENV PYTHONUNBUFFERED 1 # Expose the port that the server will run on EXPOSE 7860 # Update the package list and upgrade existing packages RUN apt update && apt upgrade -y # Install required packages RUN apt install curl -y # Add NodeSource APT repository for Node 18.x RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - # Install Node.js and npm RUN apt install nodejs -y # Install Neofetch RUN apt install neofetch -y # Install FFmpeg RUN apt install ffmpeg -y # Install additional dependencies for Puppeteer RUN apt --yes install libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libgbm1 libasound2 libpangocairo-1.0-0 libxss1 libgtk-3-0 # Install ImageMagick RUN apt install imagemagick -y # Create a non-root user and switch to it RUN useradd -m -u 1000 user USER user # Set environment variables for the user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH # Set the working directory WORKDIR $HOME/app # Copy package.json and package-lock.json files and install dependencies COPY --chown=user package*.json . RUN npm install # Copy the rest of the application code COPY --chown=user . . # Start the application CMD ["node", "index.js"]