FROM python:3.11-alpine

# For debugging
# docker build . -t extract_otp_secrets_no_qr_reader -f Dockerfile_no_qr_reader --pull --build-arg RUN_TESTS=false
# docker run --entrypoint /bin/sh -it --rm -v "$(pwd)":/files:ro extract_otp_secrets_no_qr_reader
# docker run --entrypoint /extract/run_pytest.sh --rm -v "$(pwd)":/files:ro extract_otp_secrets_no_qr_reader extract_otp_secrets_test.py -k "not qreader" --relaxed

WORKDIR /extract

COPY . .

ARG RUN_TESTS=true

RUN apk add --no-cache nano zlib jpeg \
    && echo "Arch: $(apk --print-arch)" \
    && if [[ "$(apk --print-arch)" == "aarch64" ]]; then apk add --no-cache --virtual .build-deps gcc libc-dev python3-dev py3-setuptools zlib-dev jpeg-dev; fi \
    && pip install --no-cache-dir protobuf qrcode Pillow \
    && if [[ "$(apk --print-arch)" == "aarch64" ]]; then apk del .build-deps; fi \
    && if [[ "$RUN_TESTS" == "true" ]]; then /extract/run_pytest.sh tests/extract_otp_secrets_test.py -k "not qreader" --relaxed; else echo "Not running tests..."; fi

WORKDIR /files

ENTRYPOINT ["python", "/extract/src/extract_otp_secrets.py"]

LABEL org.opencontainers.image.source https://github.com/scito/extract_otp_secrets
