initial commit

This commit is contained in:
root
2025-10-11 17:03:02 +02:00
commit 08dbb6210e
51 changed files with 3420 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
FROM registry-redhat.docker.bin.sbb.ch/rhel9/python-{{ python_version.replace(".", "") }} AS base
ENV PYTHONFAULTHANDLER=1 \
PYTHONUNBUFFERED=1 \
PYTHONHASHSEED=random \
PIP_NO_CACHE_DIR=off \
PIP_DISABLE_PIP_VERSION_CHECK=on \
PIP_DEFAULT_TIMEOUT=100
# need to be root in order to install packages
USER 0
# install necessary system dependencies here using `RUN dnf install -y <mypackage> && dnf clean all`
# for installable packages, see: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/package_manifest/index#doc-wrapper
FROM base AS builder
ENV POETRY_PATH="/opt/poetry" \
POETRY_VERSION="2.2.1" \
POETRY_VIRTUALENVS_IN_PROJECT=true
ENV PATH="$POETRY_PATH/bin:$PATH"
RUN python -m venv $POETRY_PATH && \
$POETRY_PATH/bin/pip install poetry==$POETRY_VERSION
WORKDIR /app
# Initialize environment with packages
COPY README.md pyproject.toml poetry.lock ./
RUN poetry env use {{ python_version }} && \
poetry install --without dev --no-interaction --no-ansi --no-root
# Add project source code
COPY src/ ./src/
RUN poetry build -f wheel
RUN poetry run pip install dist/*.whl
FROM base AS final
# switch back to a non-root user for executing
USER 1001
ENV PATH="/app/.venv/bin:$PATH"
COPY --from=builder /app/.venv /app/.venv
# Default command. Can be overridden using docker run <image> <command>
CMD ["entrypoint"]