loveaim/vnc
0
1FROM debian:sid2RUN chown root:shadow /etc/shadow; chmod 640 /etc/shadow;3RUN [ -r /sbin/unix_chkpwd ] && chmod 2755 /sbin/unix_chkpwd || echo "/sbin/unix_chkpwd skipped"4RUN useradd -d /home/user -s /bin/bash -m -u 1000 user5RUN chown user -R /home/user; echo "cd ~" > /home/user/.bashrc;6RUN --mount=type=secret,id=VNC_PASSWORD,mode=0444,required=true \7 echo 'user:$(cat /run/secrets/VNC_PASSWORD)' | chpasswd8RUN pwconv9RUN apt update10RUN apt install -y vim bash xfce4-terminal mate-desktop-environment-extras \11 aqemu sudo curl wget aria2 qemu-system-x86 htop chromium screen \12 tigervnc-standalone-server python3-pip python3-websockify \13 python3 git fuse libfuse2 xdotool14RUN apt remove -y lxlock15RUN apt remove -y light-locker xscreensaver-data xscreensaver16RUN [ -r /etc/xdg/lxsession/LXDE/autostart ] && sed -i '/@xscreensaver -no-splash/d' /etc/xdg/lxsession/LXDE/autostart || echo "/etc/xdg/lxsession/LXDE/autostart skipped"17RUN (gsettings set org.gnome.desktop.session idle-delay 0; gsettings set org.gnome.desktop.screensaver lock-enabled false;) || exit 0;18# RUN modprobe fuse19# RUN usermod -a -G fuse user20# RUN chmod -R o+r / 2>/dev/null; exit 0; 21RUN hostname hf-server || echo 'failed to set hostname'22RUN git clone https://github.com/novnc/noVNC.git noVNC23RUN mkdir -p /home/user/.vnc24RUN chmod -R 777 /home/user/.vnc /tmp25RUN --mount=type=secret,id=VNC_PASSWORD,mode=0444,required=true \26 cat /run/secrets/VNC_PASSWORD | vncpasswd -f > /home/user/.vnc/passwd27ENV HOME=/home/user \28 PATH=/home/user/.local/bin:$PATH29ARG VNC_RESOLUTION30CMD vncserver -SecurityTypes VncAuth -rfbauth /home/user/.vnc/passwd -geometry $VNC_RESOLUTION && ./noVNC/utils/novnc_proxy --vnc localhost:5901 --listen 0.0.0.0:7860