LazyBoy2/box/Dockerfile

27 lines
1.2 KiB
Docker

FROM debian:bookworm-slim
ENV DEBIAN_FRONTEND=noninteractive
LABEL grokboy.box.revision=computer-use-2
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/grokboy/playwright/
RUN cd /opt/grokboy/playwright && PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 npm install --omit=dev
RUN mkdir -p /workspace /home/box /usr/share/grokboy \
&& chmod 1777 /workspace
COPY start-desktop.sh stop-browser.py stop-browser.mjs box-chrome /usr/local/bin/
COPY welcome.html /usr/share/grokboy/welcome.html
COPY autostart/ /etc/xdg/autostart/
COPY desktop/ /usr/share/grokboy/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"]