# syntax=docker/dockerfile:1 FROM jayfield/debian-baseimage as base ENV PASSWORD=vnc4me # Build tools RUN apt-get update && \ apt-get -y install --no-install-recommends dbus-x11 x11-xkb-utils xkb-data && \ apt-get -y install --no-install-recommends python3 && \ apt-get -y install --no-install-recommends git make gcc build-essential && \ apt-get -y install --no-install-recommends icewm && \ apt-get -y install --no-install-recommends x11-apps && \ apt-get -y install --no-install-recommends net-tools socat python3-numpy && \ apt-get -y install --no-install-recommends xauth && \ apt-get -y install --no-install-recommends openssl && \ rm -rf /var/lib/apt/lists/* FROM base as build ADD https://github.com/TurboVNC/turbovnc/releases/download/3.1.1/turbovnc_3.1.1_amd64.deb /tmp/ ADD https://github.com/novnc/websockify.git /tmp/websockify ADD https://github.com/novnc/noVNC.git /tmp/noVNC WORKDIR "/tmp" RUN dpkg -i turbovnc_3.1.1_amd64.deb WORKDIR "/tmp/websockify" RUN make -j4 ENV PATH=$PATH:/opt/TurboVNC/bin RUN mkdir ~/.vnc/ RUN echo $PASSWORD | vncpasswd -f > ~/.vnc/passwd RUN chmod 0600 ~/.vnc/passwd COPY conf/xstartup.turbovnc /etc/ COPY conf/turbovncserver-security.conf /etc/ COPY conf/turbovncserver.conf /etc/ RUN chmod 0600 /etc/turbovncserver-security.conf # see also # https://github.com/ich777/docker-novnc-baseimage # and: # https://dunedlin.wordpress.com/2020/10/24/a-minimal-x11-install/ # https://askubuntu.com/questions/1313445/how-do-i-install-vnc-on-a-headless-ubuntu-20-10 # https://github.com/mviereck/x11docker/wiki/How-to-access-X-over-TCP-IP-network # https://jaydenm.com/blog/docker-x11-desktop/ # https://github.com/karinepires/docker-secure-vncserver/blob/master/Dockerfile # https://github.com/theonemule/docker-opengl-turbovnc/blob/master/dockerfile # MESA # https://docs.mesa3d.org/install.html