FROM vnc-base:latest


ENV DEBIAN_FRONTEND=noninteractive \
    VNC_PASSWORD=123456 

# 安装 Snap 版 Chromium
RUN snap install chromium && ln -s /snap/bin/chromium /usr/local/bin/chromium-browser

RUN git clone https://github.com/novnc/noVNC.git /opt/novnc \
    && git clone https://github.com/novnc/websockify.git /opt/novnc/utils/websockify

RUN mkdir -p /root/.vnc && echo "$VNC_PASSWORD" | vncpasswd -f > /root/.vnc/passwd && chmod 600 /root/.vnc/passwd

EXPOSE 6080 9222

CMD Xvfb :1 -screen 0 1280x1024x24 & \
    export DISPLAY=:1 && \
    fluxbox & \
    vncserver :1 -geometry 1280x1024 -depth 24 -localhost no && \
    /opt/novnc/utils/novnc_proxy --vnc localhost:5901 --listen 6080 & \
    chromium-browser --no-sandbox --disable-gpu --remote-debugging-port=9222 --remote-debugging-address=0.0.0.0 --window-size=1280,1024 && \
    tail -f /dev/null