| 
					
				 | 
			
			
				@@ -0,0 +1,101 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+FROM ubuntu:20.04 as builder 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+MAINTAINER Daniel Guerra 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Install packages 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ENV DEBIAN_FRONTEND noninteractive 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN sed -i "s/# deb-src/deb-src/g" /etc/apt/sources.list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN apt-get -y update 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN apt-get -yy upgrade 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ENV BUILD_DEPS="git autoconf pkg-config libssl-dev libpam0g-dev \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    libx11-dev libxfixes-dev libxrandr-dev nasm xsltproc flex \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bison libxml2-dev dpkg-dev libcap-dev" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN apt-get -yy install  sudo apt-utils software-properties-common $BUILD_DEPS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Build xrdp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+WORKDIR /tmp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN apt-get source pulseaudio 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN apt-get build-dep -yy pulseaudio 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+WORKDIR /tmp/pulseaudio-13.99.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN dpkg-buildpackage -rfakeroot -uc -b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+WORKDIR /tmp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN git clone --branch devel --recursive https://github.com/neutrinolabs/xrdp.git 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+WORKDIR /tmp/xrdp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN ./bootstrap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN ./configure 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN make 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN make install 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+WORKDIR /tmp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN  apt -yy install libpulse-dev 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN git clone --recursive https://github.com/neutrinolabs/pulseaudio-module-xrdp.git 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+WORKDIR /tmp/pulseaudio-module-xrdp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN ./bootstrap && ./configure PULSE_DIR=/tmp/pulseaudio-13.99.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN make 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN mkdir -p /tmp/so 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN cp src/.libs/*.so /tmp/so 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+FROM ubuntu:20.04 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ARG ADDITIONAL_PACKAGES="" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ENV ADDITIONAL_PACKAGES=${ADDITIONAL_PACKAGES} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ENV DEBIAN_FRONTEND noninteractive 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN apt update && apt install -y software-properties-common apt-utils 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner" && apt update 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN apt -y full-upgrade && apt-get install -y \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  adobe-flashplugin \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  browser-plugin-freshplayer-pepperflash \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ca-certificates \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  crudini \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  firefox \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  less \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  locales \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  openssh-server \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pulseaudio \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  sudo \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  supervisor \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  uuid-runtime \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  vim \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  vlc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  wget \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  xauth \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  xautolock \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  xfce4 \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  xfce4-clipman-plugin \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  xfce4-cpugraph-plugin \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  xfce4-netload-plugin \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  xfce4-screenshooter \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  xfce4-taskmanager \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  xfce4-terminal \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  xfce4-xkb-plugin \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  xorgxrdp \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  xprintidle \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  xrdp \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $ADDITIONAL_PACKAGES && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  apt remove -y light-locker xscreensaver && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  apt autoremove -y && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  rm -rf /var/cache/apt /var/lib/apt/lists && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mkdir -p /var/lib/xrdp-pulseaudio-installer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+COPY --from=builder /tmp/so/module-xrdp-source.so /var/lib/xrdp-pulseaudio-installer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+COPY --from=builder /tmp/so/module-xrdp-sink.so /var/lib/xrdp-pulseaudio-installer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ADD bin /usr/bin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ADD etc /etc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ADD autostart /etc/xdg/autostart 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Configure 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RUN mkdir /var/run/dbus && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  cp /etc/X11/xrdp/xorg.conf /etc/X11 && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  sed -i "s/console/anybody/g" /etc/X11/Xwrapper.config && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  sed -i "s/xrdp\/xorg/xorg/g" /etc/xrdp/sesman.ini && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  locale-gen en_US.UTF-8 && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  echo "pulseaudio -D --enable-memfd=True" > /etc/skel/.Xsession && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  echo "xfce4-session" >> /etc/skel/.Xsession && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  cp -r /etc/ssh /ssh_orig && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  rm -rf /etc/ssh/* && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  rm -rf /etc/xrdp/rsakeys.ini /etc/xrdp/*.pem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Docker config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+VOLUME ["/etc/ssh","/home"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+EXPOSE 3389 22 9001 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+CMD ["supervisord"] 
			 |