FROM git.pyrocufflink.net/containerimages/dch-base AS build RUN --mount=type=cache,target=/var/cache \ microdnf install -y \ --setopt install_weak_deps=0 \ rust \ cargo \ && : RUN cargo install rbw RUN --mount=type=cache,target=/var/cache \ microdnf install -y \ --setopt install_weak_deps=0 \ git-core \ python3-devel \ python3-pip \ python3-wheel \ && : COPY .git /src/.git COPY xactfetch.py pyproject.toml /src RUN python3 -m pip wheel -w /wheels /src FROM scratch AS mixin COPY pinentry-stub.sh /usr/local/bin/pinentry-stub COPY entrypoint.sh /entrypoint.sh FROM git.pyrocufflink.net/containerimages/dch-base RUN --mount=type=cache,target=/var/cache \ microdnf install -y \ --setopt install_weak_deps=0 \ alsa-lib \ atk \ cairo \ cairo-gobject \ dbus-glib \ fontconfig \ freetype \ gdk-pixbuf2 \ gtk3 \ libX11 \ libX11-xcb \ libXcomposite \ libXcursor \ libXdamage \ libXext \ libXfixes \ libXi \ libXrandr \ libXrender \ libXtst \ libdrm \ libxcb \ mesa-libgbm \ nspr \ nss \ pango \ python3 \ python3-pip \ tini \ xorg-x11-server-Xvfb \ && echo xactfetch:x:2468: >> /etc/group \ && echo xactfetch:*:2468:2468:xactfetch:/var/lib/xactfetch:/sbin/nologin >> /etc/passwd \ && : ENV PLAYWRIGHT_BROWSERS_PATH=/usr/local/playwright/browsers RUN --mount=type=bind,from=build,source=/,target=/build \ python3 -m pip install --no-index -f /build/wheels xactfetch \ && cp /build/root/.cargo/bin/rbw* /usr/local/bin/ \ && playwright install chromium \ && : COPY --from=mixin / / VOLUME /var/lib/xactfetch WORKDIR /var/lib/xactfetch USER 2468:2468 ENTRYPOINT ["/entrypoint.sh"]