92 lines
1.7 KiB
Docker
92 lines
1.7 KiB
Docker
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 secretsocket.py /usr/local/bin/secretsocket
|
|
COPY chase2fa.py /usr/local/bin/chase2fa
|
|
|
|
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"]
|