FROM python:3.12-slim ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ UV_COMPILE_BYTECODE=1 \ UV_LINK_MODE=copy \ UV_PROJECT_ENVIRONMENT=/app/.venv WORKDIR /app RUN apt-get update \ && apt-get install -y --no-install-recommends libpq5 \ && rm -rf /var/lib/apt/lists/* COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv COPY pyproject.toml uv.lock ./ RUN uv sync --frozen --no-dev COPY llm_be ./llm_be COPY scripts/docker-entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh WORKDIR /app/llm_be EXPOSE 8000 ENTRYPOINT ["/entrypoint.sh"]