FROM ubuntu:22.04 # Interactive prompts ko disable karne ke liye ENV DEBIAN_FRONTEND=noninteractive # Zaroori system tools, XFCE4 Desktop, VNC, aur NoVNC install karna RUN apt-get update && apt-get install -y \ curl \ git \ sudo \ wget \ unzip \ openjdk-17-jdk \ python3 \ python3-pip \ xfce4 \ xfce4-goodies \ tigervnc-standalone-server \ tigervnc-xorg-extension \ novnc \ websockify \ && rm -rf /var/lib/apt/lists/* # Hugging Face ke liye user setup RUN useradd -m -u 1000 user # 'user' ko bina password ke sudo access dena RUN echo "user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # User aur environment permissions setup karna USER user ENV HOME=/home/user \ ANDROID_HOME=/home/user/android-sdk \ PATH=/home/user/.local/bin:/home/user/android-sdk/cmdline-tools/latest/bin:/home/user/android-sdk/platform-tools:$PATH WORKDIR $HOME/app # VNC server ke liye localhost aur base screen password set karna RUN mkdir -p $HOME/.vnc && \ echo "password" | vncpasswd -f > $HOME/.vnc/passwd && \ chmod 600 $HOME/.vnc/passwd # VNC ki startup settings setup karna taaki XFCE Desktop load ho RUN echo "#!/bin/sh\nunset SESSION_MANAGER\nunset DBUS_SESSION_BUS_ADDRESS\nstartxfce4 &" > $HOME/.vnc/xstartup && \ chmod +x $HOME/.vnc/xstartup COPY --chown=user:user . . # VNC server run karna aur NoVNC ko port 7860 par expose karna (Hugging Face Default Port) CMD vncserver :1 -geometry 1280x720 -depth 24 && websockify --web /usr/share/novnc/ 7860 localhost:5901