kshitijthakkar
updated to use ollama locally
f3a5899
raw
history blame
1.44 kB
# Dockerfile - Hugging Face Space with Ollama (small model)
FROM python:3.11-slim
# Set Ollama environment
ENV OLLAMA_HOST=0.0.0.0:11434
ENV OLLAMA_ORIGINS=http://*,https://*
# Optional: change model storage to /data for better caching
# ENV OLLAMA_MODELS=/data/ollama
# Install dependencies
RUN apt-get update && \
apt-get install -y curl ca-certificates && \
rm -rf /var/lib/apt/lists/*
# Create non-root user and app directory
RUN useradd -m -u 1000 appuser && \
mkdir -p /app && \
chown -R appuser:appuser /app
USER appuser
WORKDIR /app
# Install Ollama CLI
#RUN mkdir -p ~/.local/bin && \
# curl -fL --retry 5 --retry-delay 5 \
# -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64)" \
# https://ollama.com/download/ollama-linux-amd64.tgz \
# | tar -xvz --no-same-owner --no-same-permissions -C /tmp && \
# cp /tmp/ollama/bin/ollama ~/.local/bin/ollama && \
# chmod +x ~/.local/bin/ollama && \
# rm -rf /tmp/ollama
ENV PATH="/home/appuser/.local/bin:$PATH"
# Copy app
COPY --chown=appuser:appuser . /app
#RUN mv /app/ollama /home/appuser/.local/bin/
# Install Python dependencies
RUN ls -ltr && pwd
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
# Expose Gradio port (required)
EXPOSE 7860
# Entrypoint
COPY --chown=appuser:appuser entrypoint.sh /app/entrypoint.sh
RUN chmod +x /app/entrypoint.sh
CMD ["/app/entrypoint.sh"]