FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim AS builder ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 WORKDIR /app RUN --mount=type=cache,target=/root/.cache/uv \ --mount=type=bind,source=uv.lock,target=uv.lock \ --mount=type=bind,source=pyproject.toml,target=pyproject.toml \ uv sync --frozen --no-install-project --no-dev COPY src/ /app COPY README.md /app/index.md COPY version.txt /app/ FROM python:3.12-slim-bookworm LABEL authors="Marc Koch" ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 RUN mkdir /data RUN mkdir /static-collected COPY --from=builder --chown=app-user:app-user /app /app RUN groupadd -r app-user && useradd -r -g app-user app-user && \ chown -R app-user:app-user /app && \ chown -R app-user:app-user /data && \ chown -R app-user:app-user /static-collected && \ chmod +x /app/clear_bookings.py WORKDIR /app ENV PATH="/app/.venv/bin:$PATH" USER app-user EXPOSE 8000