File size: 669 Bytes
6172a47
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
FROM ghcr.io/astral-sh/uv:python3.14-bookworm-slim

# Create non-root user (HF Spaces convention: UID 1000)
RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user \
    PATH=/home/user/.local/bin:$PATH \
    UV_LINK_MODE=copy

WORKDIR /home/user/app

# Install dependencies first for caching
COPY --chown=user:user pyproject.toml uv.lock ./
RUN uv sync --frozen --no-install-project --no-dev

# Copy source
COPY --chown=user:user . .

# Sync project (after copy, so package metadata is available)
RUN uv sync --frozen --no-dev

ENV PATH="/home/user/app/.venv/bin:$PATH"
ENV PORT=7860
EXPOSE 7860

CMD ["sh", "-c", "uvicorn server:app --host 0.0.0.0 --port ${PORT}"]