11FROM ghcr.io/astral-sh/uv:bookworm-slim AS builder
22
3- ARG VNC_PASSWORD=browser-use
4-
53ENV UV_COMPILE_BYTECODE=1 \
64 UV_LINK_MODE=copy \
75 UV_PYTHON_INSTALL_DIR=/python \
@@ -26,6 +24,8 @@ RUN --mount=type=cache,target=/root/.cache/uv \
2624
2725FROM debian:bookworm-slim AS runtime
2826
27+ ARG VNC_PASSWORD="browser-use"
28+
2929# Install required packages including Chromium and clean up in the same layer
3030RUN apt-get update && \
3131 apt-get install --no-install-recommends -y \
@@ -56,15 +56,19 @@ COPY --from=builder --chown=app:app /app /app
5656ENV PATH="/app/.venv/bin:$PATH" \
5757 DISPLAY=:0 \
5858 CHROME_BIN=/usr/bin/chromium \
59- CHROMIUM_FLAGS="--no-sandbox --headless --disable-gpu --disable-software-rasterizer --disable-dev-shm-usage"
59+ CHROMIUM_FLAGS="--no-sandbox --headless --disable-gpu --disable-software-rasterizer --disable-dev-shm-usage" \
60+ CHROME_PATH="/usr/bin/chromium"
6061
6162# Combine VNC setup commands to reduce layers
6263RUN mkdir -p ~/.vnc && \
63- echo ${ VNC_PASSWORD} | vncpasswd -f > /root/.vnc/passwd && \
64+ echo $VNC_PASSWORD | vncpasswd -f > /root/.vnc/passwd && \
6465 chmod 600 /root/.vnc/passwd && \
6566 printf '#!/bin/sh\n unset SESSION_MANAGER\n unset DBUS_SESSION_BUS_ADDRESS\n startxfce4' > /root/.vnc/xstartup && \
6667 chmod +x /root/.vnc/xstartup && \
67- printf '#!/bin/bash\n vncserver -depth 24 -geometry 1920x1080 -localhost no -PasswordFile /root/.vnc/passwd :0\n proxy-login-automator\n python /app/server --transport sse -- port 8000' > /app/boot.sh && \
68+ printf '#!/bin/bash\n vncserver -depth 24 -geometry 1920x1080 -localhost no -PasswordFile /root/.vnc/passwd :0\n proxy-login-automator\n python /app/server --port 8000' > /app/boot.sh && \
6869 chmod +x /app/boot.sh
6970
71+
72+ EXPOSE 8000
73+
7074ENTRYPOINT ["/bin/bash" , "/app/boot.sh" ]
0 commit comments