# syntax=docker/dockerfile:1.7 FROM python:3.12-slim AS builder ENV PIP_NO_CACHE_DIR=1 \ PIP_DISABLE_PIP_VERSION_CHECK=1 \ PYTHONDONTWRITEBYTECODE=1 WORKDIR /build COPY pyproject.toml ./ COPY src ./src RUN python -m pip install --upgrade pip build \ && python -m build --wheel --outdir /wheels FROM python:3.12-slim ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ LORABOT_CONFIG=/etc/lorabot/config.toml \ LORABOT_STORAGE__SQLITE_PATH=/data/lorabot.db RUN useradd --system --home /app --shell /usr/sbin/nologin lorabot \ && mkdir -p /data /etc/lorabot \ && chown lorabot:lorabot /data WORKDIR /app COPY --from=builder /wheels/*.whl /tmp/wheels/ RUN pip install --no-cache-dir /tmp/wheels/*.whl \ && rm -rf /tmp/wheels USER lorabot VOLUME ["/data", "/etc/lorabot"] ENTRYPOINT ["lorabot"]