29 lines
665 B
Docker
29 lines
665 B
Docker
# Use Python 3.14 as requested (using rc-slim as 3.14 is likely in pre-release)
|
|
# If 3.14-slim-bookworm is not available, this might need adjustment to python:3.14-rc-slim or similar.
|
|
FROM python:3.14-rc-slim-bookworm
|
|
|
|
# Install uv
|
|
COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Copy dependency files
|
|
COPY pyproject.toml uv.lock ./
|
|
|
|
# Sync dependencies (frozen to ensure reproducibility)
|
|
RUN uv sync --frozen
|
|
|
|
# Copy source code
|
|
COPY src/ src/
|
|
COPY entrypoint.sh .
|
|
|
|
# Make entrypoint executable
|
|
RUN chmod +x entrypoint.sh
|
|
|
|
# Expose port 8000 for SSE mode
|
|
EXPOSE 8000
|
|
|
|
# Set entrypoint
|
|
ENTRYPOINT ["/app/entrypoint.sh"]
|