Elephantor2 / Dockerfile
F555's picture
Restore Dockerfile from F555/testclaw @ 827d431
2864444 verified
FROM ubuntu:26.04
LABEL maintainer="F555"
ENV APP_DIR=/app \
DEBIAN_FRONTEND=noninteractive \
DISPLAY=:1 \
SCREEN_WIDTH=1280 \
SCREEN_HEIGHT=800 \
BROWSER_START_URL=https://huggingface.co
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
bash \
ca-certificates \
curl \
dbus-x11 \
fluxbox \
fonts-dejavu \
fonts-liberation \
git \
git-lfs \
gnupg \
novnc \
procps \
websockify \
wget \
x11-utils \
x11vnc \
xdotool \
xterm \
xvfb \
&& wget -q -O /tmp/google-chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
&& apt-get install -y --no-install-recommends /tmp/google-chrome.deb \
&& rm -f /tmp/google-chrome.deb \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir -p /app /app/novnc-web /home/user \
&& cp -a /usr/share/novnc/. /app/novnc-web/ \
&& printf '%s\n' \
'<!doctype html>' \
'<html lang="en">' \
'<head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>TestClaw Browser</title></head>' \
'<body style="margin:0;background:#101112;color:#eee;font-family:Arial,sans-serif">' \
'<script>location.replace("/vnc.html?autoconnect=true&resize=remote&reconnect=true&path=websockify");</script>' \
'<p style="padding:1rem">Opening browser control surface...</p>' \
'</body></html>' \
> /app/novnc-web/index.html \
&& printf '{"status":"ok","base":"ubuntu:26.04","service":"testclaw-browser-gui"}\n' > /app/novnc-web/health \
&& ln -sfn /app /home/user/app \
&& chown -R 1000:1000 /app /home/user
COPY start-gui.sh /usr/local/bin/start-gui.sh
RUN chmod +x /usr/local/bin/start-gui.sh
USER root
WORKDIR /app
EXPOSE 7860
CMD ["/usr/local/bin/start-gui.sh"]