# Use Ubuntu as the base image FROM ubuntu:latest # Update package list and install required system dependencies RUN apt-get update && apt-get install -y \ curl \ gnupg \ python3 \ python3-venv \ python3-pip # Set up a virtual environment for Python RUN python3 -m venv /venv ENV PATH="/venv/bin:$PATH" # Install required Python packages inside the virtual environment RUN pip install --no-cache-dir streamlit requests tornado==6.0.4 # Install NVIDIA container toolkit RUN curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && echo "deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/stable/deb/ $(. /etc/os-release; echo $UBUNTU_CODENAME) main" > /etc/apt/sources.list.d/nvidia-container-toolkit.list RUN apt-get update && apt-get install -y nvidia-container-toolkit || true # Install Ollama RUN curl https://ollama.ai/install.sh | sh # Create the directory and set appropriate permissions RUN mkdir -p /.ollama && chmod 777 /.ollama WORKDIR /.ollama # Copy the entry point script COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh # Copy the application script COPY app.py /app.py # Expose both ports EXPOSE 7860 8501 # Set the entry point script as the default command ENTRYPOINT ["/entrypoint.sh"]