FROM python:3.9 | |
# Install ollama tool | |
RUN apt-get update && apt-get install -y \ | |
curl \ | |
&& curl -fsSL https://ollama.com/install.sh | sh \ | |
&& apt-get clean | |
# Create user | |
RUN useradd -m -u 1000 user | |
# Set the working directory | |
WORKDIR /app | |
# Install dependencies | |
COPY --chown=user ./requirements.txt requirements.txt | |
RUN pip install --no-cache-dir --upgrade -r requirements.txt | |
# Copy the rest of the application code | |
COPY --chown=user . /app | |
# Pull the model | |
RUN python -c "import subprocess; subprocess.run(['ollama', 'pull', 'mohamedo/bignova'], check=True)" | |
# Expose port for FastAPI | |
EXPOSE 8000 | |
# Start FastAPI app | |
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] | |