FROM debian:bookworm-slim ENV DEBIAN_FRONTEND=noninteractive LABEL lazyboy.box.revision=computer-use-3 RUN apt-get update && apt-get install -y --no-install-recommends \ xvfb x11-utils x11vnc novnc websockify imagemagick xdotool \ dbus-x11 xfce4-session xfce4-panel xfwm4 xfdesktop4 xfce4-settings \ xfce4-terminal thunar \ fonts-noto-core fonts-noto-cjk \ python3 curl ca-certificates git bash tini procps \ chromium \ && rm -rf /var/lib/apt/lists/* COPY --from=node:22-bookworm-slim /usr/local/ /usr/local/ COPY playwright/ /opt/lazyboy/playwright/ RUN cd /opt/lazyboy/playwright && PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 npm install --omit=dev RUN mkdir -p /workspace /home/box /usr/share/lazyboy \ && chmod 1777 /workspace COPY start-desktop.sh stop-browser.py stop-browser.mjs box-chrome /usr/local/bin/ COPY welcome.html /usr/share/lazyboy/welcome.html COPY autostart/ /etc/xdg/autostart/ COPY desktop/ /usr/share/lazyboy/desktop/ RUN chmod +x /usr/local/bin/start-desktop.sh /usr/local/bin/box-chrome ENV DISPLAY=:1 WORKDIR /workspace EXPOSE 6080 ENTRYPOINT ["/usr/bin/tini", "--"] CMD ["/usr/local/bin/start-desktop.sh"]