| FROM ghcr.io/astral-sh/uv:0.6 AS uv-stage | |
| FROM python:3.13-slim | |
| RUN groupadd -r appgroup && useradd -r -m -g appgroup appuser | |
| WORKDIR /app | |
| COPY --from=uv-stage /uv /usr/local/bin/uv | |
| RUN chmod +x /usr/local/bin/uv | |
| COPY pyproject.toml uv.lock* ./ | |
| RUN uv sync --frozen --no-dev | |
| COPY . . | |
| COPY entrypoint.sh /entrypoint.sh | |
| RUN chmod +x /entrypoint.sh | |
| USER root | |
| EXPOSE 8080 | |
| ENTRYPOINT ["/entrypoint.sh"] | |