File size: 1,436 Bytes
02a42b8 1a4f599 02a42b8 1a4f599 02a42b8 1a4f599 02a42b8 1a4f599 02a42b8 1a4f599 02a42b8 f3a5899 02a42b8 1a4f599 02a42b8 f3a5899 1a4f599 f3a5899 1a4f599 02a42b8 1a4f599 f3a5899 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# 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"]
|