computer-agent / Dockerfile
HuggingFaceDAO's picture
Update Dockerfile
e504961 verified
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 \
"]