cagevnc/Dockerfile

38 lines
1,021 B
Docker

FROM binhex/arch-base:latest AS build
COPY ./cage-vi/ /tmp/cage/
RUN pacman -Syu --noconfirm base-devel \
&& chown -R nobody: /tmp/cage/ \
&& source /tmp/cage/PKGBUILD && pacman -S --needed ${depends[@]} ${makedepends[@]} --noconfirm \
&& runuser -u nobody -- sh -c "cd /tmp/cage/ && makepkg -c --noconfirm"
FROM binhex/arch-base:latest
COPY --from=build /tmp/cage/*.pkg.tar.zst /tmp/cage/
COPY build/root/*.sh /root/
COPY config/ /config/
COPY supervisor/*.conf /etc/supervisor/conf.d/
RUN chmod +x /root/*.sh && \
/bin/bash /root/install.sh
# TODO, move to install.sh
ENV PUID=10000 \
PGID=10000 \
UMASK=022 \
WAYLAND_DISPLAY=wayland-0 \
XDG_RUNTIME_DIR=/run/user/${PUID} \
WLR_BACKENDS=headless \
WLR_NO_HARDWARE_CURSORS=1 \
WLR_DRM_DEVICES=/dev/dri/card0
RUN usermod -a -G seat,video,render nobody \
&& mkdir -p ${XDG_RUNTIME_DIR} \
&& chown ${PUID}:${PGID} ${XDG_RUNTIME_DIR} \
&& chmod 7700 ${XDG_RUNTIME_DIR}
EXPOSE 5900
CMD ["/bin/bash", "/usr/local/bin/init.sh"]