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"]