# syntax=docker/dockerfile:1.7

ARG PYTHON_VERSION=3.14

FROM python:${PYTHON_VERSION}-alpine AS builder

ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \
    PIP_NO_CACHE_DIR=1 \
    PIP_ROOT_USER_ACTION=ignore

RUN apk add --no-cache \
        build-base \
        libffi-dev \
        olm-dev

WORKDIR /build
COPY requirements.txt .

RUN python -m venv /opt/venv \
 && /opt/venv/bin/pip install --upgrade pip \
 && /opt/venv/bin/pip install --no-cache-dir -r requirements.txt


FROM python:${PYTHON_VERSION}-alpine AS runtime

RUN apk add --no-cache \
        olm \
        ca-certificates \
 && addgroup -g 1000 bot \
 && adduser -u 1000 -G bot -h /home/bot -D bot \
 && mkdir -p /state \
 && chown -R bot:bot /state

COPY --from=builder /opt/venv /opt/venv
ENV PATH=/opt/venv/bin:$PATH \
    PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    PYTHONPATH=/app/src

WORKDIR /app
COPY --chown=bot:bot src/ ./src/

USER bot

ENTRYPOINT ["python", "-m", "claude_matrix_bot.reset_watcher"]
