19 lines
524 B
Docker
19 lines
524 B
Docker
FROM python:3.12-slim AS base
|
|
|
|
FROM base AS builder
|
|
COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv
|
|
WORKDIR /app
|
|
COPY pyproject.toml uv.lock /app/
|
|
RUN uv sync --frozen --no-install-project --no-dev
|
|
COPY src /app
|
|
# Ensure data directory exists but don't copy from host
|
|
RUN uv sync --frozen --no-dev
|
|
|
|
FROM base
|
|
COPY --from=builder /app /app
|
|
ENV PATH="/app/.venv/bin:$PATH"
|
|
WORKDIR /app
|
|
# Create data directory
|
|
RUN mkdir -p /app/data && chmod 755 /app/data
|
|
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000"]
|