# Base image with system deps FROM ubuntu:22.04 ENV DEBIAN_FRONTEND=noninteractive # Install X server, window manager, VNC & web client RUN apt-get update && \ apt-get install -y --no-install-recommends \ xvfb fluxbox x11vnc \ websockify novnc python3-pip && \ rm -rf /var/lib/apt/lists/* # Copy startup script + app COPY entrypoint.sh /entrypoint.sh COPY requirements.txt /requirements.txt COPY app.py /app.py RUN chmod +x /entrypoint.sh # Python deps RUN pip3 install --no-cache-dir -r /requirements.txt # Expose Gradio (7860) and noVNC (6080) EXPOSE 7860 6080 ENTRYPOINT ["/entrypoint.sh"]