FROM python:3.9-slim # Set the working directory inside the container WORKDIR /app # Copy all files from the current directory to the container's working directory COPY . . # Install dependencies from the requirements file without using cache to reduce image size RUN pip install --no-cache-dir --upgrade -r requirements.txt # Expose port 7861 to allow external access EXPOSE 7861 # Define the command to start the application using Gunicorn with 4 worker processes # - `-w 4`: Uses 4 worker processes for handling requests # - `-b 0.0.0.0:7861: Binds the server to port 7861 on all network interfaces # - `app:app`: Runs the Flask app (assuming `app.py` contains the Flask instance named `app`) CMD ["gunicorn", "-w", "8", "-b", "0.0.0.0:7861", "app:nozzleselect_api"]