FROM registry.fedoraproject.org/fedora-minimal:38 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 . /src RUN python3 -m pip wheel -w /wheels /src FROM registry.fedoraproject.org/fedora-minimal:38 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/ \ && install /build/src/pinentry-stub.sh /usr/local/bin/pinentry-stub \ && install /build/src/entrypoint.sh /entrypoint.sh \ && playwright install chromium \ && : VOLUME /var/lib/xactfetch WORKDIR /var/lib/xactfetch USER 2468:2468 ENTRYPOINT ["/entrypoint.sh"]