Files
xserver-vnc/Dockerfile
T

55 lines
1.6 KiB
Docker

# syntax=docker/dockerfile:1
FROM ubuntu:jammy as base
ENV DEBIAN_FRONTEND=noninteractive
ENV PASSWORD=vnc4me
RUN apt-get update
# Build tools
RUN apt-get install -y git build-essential libtool autotools-dev automake cmake nasm
RUN apt-get install -y x11vnc libx11-dev libxext-dev xvfb
RUN apt-get install -y libpam0g-dev
RUN apt-get install -y python3
FROM base as sources
ADD https://github.com/libjpeg-turbo/libjpeg-turbo.git /tmp/turbojpeg
ADD https://github.com/TurboVNC/turbovnc.git /tmp/turbovnc
ADD https://archive.mesa3d.org/mesa-24.0.7.tar.xz /tmp/mesa
FROM sources as build
WORKDIR "/tmp/turbojpeg/build"
RUN cmake -G"Unix Makefiles" ..
RUN make -j4 && make install
WORKDIR "/tmp/turbovnc/build"
RUN cmake -G"Unix Makefiles" -DTVNC_BUILDVIEWER:BOOL=false ..
RUN make -j4 && make install
RUN apt-get install -y icewm
RUN apt-get install -y x11-apps
# develop only
RUN apt-get install -y net-tools socat
ENV PATH=$PATH:/opt/TurboVNC/bin
RUN mkdir ~/.vnc/
RUN echo $PASSWORD | vncpasswd -f > ~/.vnc/passwd
RUN chmod 0600 ~/.vnc/passwd
COPY vnc/xstartup.turbovnc ~/.vnc/
EXPOSE 5900
COPY app/*.sh /app/
CMD ["/app/app.sh"]
# 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