FROM ubuntu:22.04 ENV DEBIAN_FRONTEND=noninteractive # 1) Install Xfce, x11vnc, Xvfb, Python, Pip, and other tools RUN apt-get update && apt-get install -y \ xfce4 \ xfce4-goodies \ x11vnc \ xvfb \ xdotool \ imagemagick \ x11-apps \ sudo \ software-properties-common \ python3 \ python3-pip \ && apt-get remove -y light-locker xfce4-screensaver xfce4-power-manager || true \ && apt-get clean && rm -rf /var/lib/apt/lists/* # 2) Add the mozillateam PPA and install Firefox ESR RUN add-apt-repository ppa:mozillateam/ppa \ && apt-get update \ && apt-get install -y --no-install-recommends firefox-esr \ && update-alternatives --set x-www-browser /usr/bin/firefox-esr \ && apt-get clean && rm -rf /var/lib/apt/lists/* # 3) Install the Google Generative AI library RUN pip3 install google-generativeai # 4) Create non-root user and copy the script RUN useradd -ms /bin/bash myuser \ && echo "myuser ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers USER myuser WORKDIR /home/myuser COPY gemini_tool.py /home/myuser/ # 5) Set x11vnc password ("secret") RUN x11vnc -storepasswd secret /home/myuser/.vncpass # 6) Expose port 5900 and run Xvfb, x11vnc, Xfce (no login manager) EXPOSE 5900 CMD ["/bin/sh", "-c", "\ Xvfb :99 -screen 0 1280x800x24 >/dev/null 2>&1 & \ x11vnc -display :99 -forever -rfbauth /home/myuser/.vncpass -listen 0.0.0.0 -rfbport 5900 >/dev/null 2>&1 & \ export DISPLAY=:99 && \ startxfce4 >/dev/null 2>&1 & \ sleep 2 && echo 'Container running!' && \ tail -f /dev/null \ "]