File size: 736 Bytes
9d03798
 
 
 
 
 
 
 
 
 
50e6313
b79c467
9d03798
 
50e6313
9d03798
 
50e6313
6609d92
9d03798
b79c467
9d03798
 
 
 
 
 
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
FROM python:3.11-slim

WORKDIR /app

RUN apt-get update && apt-get install -y \
    build-essential curl git \
    && rm -rf /var/lib/apt/lists/*

RUN pip install uv

# Copy minimal files first (for caching)
COPY pyproject.toml uv.lock README.md ./
COPY src/ ./src/

# Now uv sync can find README.md
RUN uv sync --no-dev

# Bake model into image — single line, no indentation issues
RUN uv run python -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('nomic-ai/nomic-embed-text-v1.5', trust_remote_code=True); print('Model cached.')"

# Copy remaining files
COPY . .

EXPOSE 7860

CMD ["uv", "run", "uvicorn", "civicsetu.api.main:app", \
     "--host", "0.0.0.0", "--port", "7860", "--log-level", "info"]