25 lines
506 B
Docker
25 lines
506 B
Docker
FROM python:3.14-slim AS builder
|
|
|
|
WORKDIR /app
|
|
ENV UV_COMPILE_BYTECODE=1
|
|
|
|
COPY pyproject.toml uv.lock ./
|
|
RUN pip install --no-cache-dir uv \
|
|
&& uv sync --frozen --no-install-project --no-dev
|
|
|
|
COPY uv_app/ ./uv_app/
|
|
|
|
FROM python:3.14-slim
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=builder /app/.venv /app/.venv
|
|
COPY --from=builder /app/uv_app ./uv_app
|
|
|
|
RUN adduser --disabled-password --gecos '' appuser && chown -R appuser /app
|
|
USER appuser
|
|
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["/app/.venv/bin/python", "-m", "uv_app"]
|
|
CMD ["main"]
|