Files
fm-orchestrator/openshift/backend/Dockerfile
Mike Bonnet ecf7da7aa3 install mbs in the container images using pip
Removing the requirement to build the rpm as part of the image build simplifies the
build process and reduces fragility introduced by trying to keep the rpm build and
image builds in sync.
2022-08-24 12:03:08 -07:00

73 lines
2.2 KiB
Docker

FROM registry.fedoraproject.org/fedora:latest AS builder
ARG DNF_CMD="dnf -y --setopt=deltarpm=0 --setopt=install_weak_deps=false --setopt=tsflags=nodocs"
COPY . /src
WORKDIR /src
RUN $DNF_CMD install \
python3-setuptools python3-wheel && \
$DNF_CMD clean all
RUN python3 setup.py bdist_wheel -u root -g root
FROM registry.fedoraproject.org/fedora:latest
ARG DNF_CMD="dnf -y --setopt=deltarpm=0 --setopt=install_weak_deps=false --setopt=tsflags=nodocs"
ARG EXTRA_RPMS=""
LABEL \
org.opencontainers.image.title="Backend for the Module Build Service (MBS)" \
org.opencontainers.image.description="The MBS coordinates module builds. This image is to serve as the MBS backend." \
org.opencontainers.image.vendor="The Brew Guild" \
org.opencontainers.image.authors="The Brew Guild <brew-devel@redhat.com>" \
org.opencontainers.image.licenses="MIT" \
org.opencontainers.image.url="https://pagure.io/fm-orchestrator" \
org.opencontainers.image.documentation="https://pagure.io/fm-orchestrator" \
distribution-scope="public"
COPY --from=builder /src/dist /src/dist
RUN $DNF_CMD install \
python3-celery \
python3-distro \
python3-dnf \
python3-docopt \
python3-dogpile-cache \
python3-fedmsg \
python3-flask \
python3-flask-migrate \
python3-flask-sqlalchemy \
python3-kobo \
python3-kobo-rpmlib \
python3-koji \
python3-ldap3 \
python3-libmodulemd \
python3-m2crypto \
python3-moksha-hub \
python3-munch \
python3-openidc-client \
python3-packaging \
python3-pip \
python3-prometheus_client \
python3-psycopg2 \
python3-pungi \
python3-pyOpenSSL \
python3-pyparsing \
python3-requests \
python3-service-identity \
python3-six \
python3-solv \
python3-sqlalchemy \
git-core \
$EXTRA_RPMS && \
rm -f /etc/fedmsg.d/* && \
$DNF_CMD clean all
# Install locally available python wheels only.
# Any new/updated dependencies should be installed via rpm.
RUN pip-3 install --no-deps /src/dist/*.whl
USER 1001
VOLUME ["/etc/module-build-service", "/etc/fedmsg.d", "/etc/mbs-certs"]
CMD ["fedmsg-hub-3"]