ARG PYTHON_VERSION=3.13 FROM python:${PYTHON_VERSION} AS builder ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ PIP_NO_CACHE_DIR=off \ PIP_DISABLE_PIP_VERSION_CHECK=on \ PIP_NO_WARN_SCRIPT_LOCATION=0 \ PIP_ROOT_USER_ACTION=ignore \ AIOHTTP_NO_EXTENSIONS=1 \ MULTIDICT_NO_EXTENSIONS=1 \ YARL_NO_EXTENSIONS=1 \ PATH="/opt/venv/bin:$PATH" RUN apt-get update && \ apt-get upgrade -y && \ apt-get install -y build-essential RUN --mount=type=bind,target=/context \ python -m venv /opt/venv && \ pip install -r /context/requirements.txt && \ pip install /context FROM python:${PYTHON_VERSION}-slim ENV TGTG_TOKEN_PATH=/tokens \ LOGS_PATH=/logs \ DOCKER=true \ UID=1000 \ GID=1000 \ PATH="/opt/venv/bin:$PATH" RUN addgroup --gid ${GID} tgtg && \ adduser --shell /bin/false \ --disabled-password \ --uid ${UID} \ --gid ${GID} \ tgtg RUN mkdir -p ${LOGS_PATH} RUN mkdir -p ${TGTG_TOKEN_PATH} RUN chown tgtg:tgtg ${LOGS_PATH} RUN chown tgtg:tgtg ${TGTG_TOKEN_PATH} VOLUME ${TGTG_TOKEN_PATH} COPY ./docker/entrypoint.sh /entrypoint.sh COPY --from=builder /opt/venv /opt/venv RUN python -m tgtg_scanner -v ENTRYPOINT [ "/entrypoint.sh" ] CMD [ "python", "-m", "tgtg_scanner" ]