123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- 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"]
|