FROM ubuntu:22.04 # تثبيت tini عشان الحاوية ما تقفلش والـ dbus عشان الواجهة ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y \ python3 python3-pip git ffmpeg wget curl unzip sudo \ xfce4 xfce4-terminal xfce4-session \ dbus-x11 x11-xserver-utils tini \ tigervnc-standalone-server novnc \ && apt-get clean # إضافة مستخدم (abdullah) RUN useradd -m -u 1000 abdullah && echo "abdullah ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers USER abdullah ENV HOME=/home/abdullah \ PATH=/home/abdullah/.local/bin:$PATH WORKDIR $HOME # إعداد VNC RUN mkdir -p $HOME/.vnc \ && echo "123456" | vncpasswd -f > $HOME/.vnc/passwd \ && chmod 600 $HOME/.vnc/passwd # سكريبت التشغيل (xstartup) - ده أهم جزء RUN echo "#!/bin/bash\n\ unset SESSION_MANAGER\n\ unset DBUS_SESSION_BUS_ADDRESS\n\ /usr/bin/startxfce4" > $HOME/.vnc/xstartup && chmod +x $HOME/.vnc/xstartup # إعداد البورت EXPOSE 7860 # الأمر النهائي (استخدام tini بيمنع الـ Exit Code 255) ENTRYPOINT ["/usr/bin/tini", "--"] CMD ["sh", "-c", "vncserver :1 -geometry 1280x720 -depth 24 && python3 /usr/share/novnc/utils/launch.sh --vnc localhost:5901 --listen 7860"]