| # Use an official Python runtime as a parent image | |
| FROM python:3.8-slim-buster | |
| # Set the working directory in the container | |
| WORKDIR /app | |
| # Install system and Python dependencies | |
| RUN apt-get update && \ | |
| apt-get install -y build-essential openslide-tools libgl1-mesa-glx && \ | |
| apt-get clean && \ | |
| rm -rf /var/lib/apt/lists/* | |
| # Add a non-root user with a specified UID | |
| ARG USER_ID | |
| RUN adduser --disabled-password --gecos '' --uid $USER_ID myuser | |
| # Copy the entire genomic_plip_model directory contents into the container at /app | |
| COPY ./ /app/ | |
| # Install Python dependencies | |
| RUN pip install -r requirements.txt | |
| # Set the user to the newly created non-root user | |
| USER myuser | |
| # Expose a port (if necessary for your application) | |
| EXPOSE 8888 | |
| # Set the entrypoint to a shell command | |
| ENTRYPOINT ["/bin/bash"] | |