FROM golang:1.17 as go COPY xseld /xseld COPY fileserver /fileserver RUN \ apt-get update && \ apt-get install -y upx-ucl libx11-dev && \ cd /xseld && \ GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" && \ upx /xseld/xseld && \ cd /fileserver && \ go test -race && \ GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" && \ upx /fileserver/fileserver FROM ubuntu:20.04 RUN \ apt update && \ apt remove -y libcurl4 && \ apt install -y apt-transport-https ca-certificates tzdata locales libcurl4 curl gnupg && \ DEBIAN_FRONTEND=noninteractive apt -y upgrade && \ echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections && \ echo 'UTC' | tee /etc/timezone && \ dpkg-reconfigure -f noninteractive tzdata && \ echo "gtk-cursor-blink=0" > /root/.gtkrc-2.0 && \ apt update && \ apt install -y ttf-mscorefonts-installer \ ttf-dejavu-core \ fontconfig \ fontconfig-config \ fonts-dejavu-core \ fonts-liberation \ fonts-ubuntu-font-family-console \ fonts-wqy-zenhei \ fonts-thai-tlwg-ttf \ fonts-ipafont-mincho \ fonts-sahadeva \ fonts-noto-unhinted \ fonts-noto-color-emoji \ libfontconfig1 \ libfontenc1 \ libfreetype6 \ libxfont2 \ libxft2 \ libnss3-tools \ xfonts-base \ xfonts-encodings \ xfonts-utils \ flashplugin-installer \ xvfb \ pulseaudio \ fluxbox \ x11vnc \ feh \ wmctrl \ libnss-wrapper \ xsel && \ mkdir -p /var/lib/locales/supported.d/ && grep UTF-8 /usr/share/i18n/SUPPORTED > /var/lib/locales/supported.d/all && \ locale-gen && update-locale && \ fc-cache -f -v && \ adduser --system --home /home/selenium --uid 4096 \ --ingroup root --disabled-password --shell /bin/bash selenium && \ mkdir -p /home/selenium/Downloads && \ mkdir -p /home/selenium/.fluxbox && \ chgrp -R 0 /home/selenium && \ chmod -R g=u /home/selenium && \ ln -sf /bin/true /usr/bin/xdg-open && \ apt-get clean && \ rm -Rf /tmp/* && rm -Rf /var/lib/apt/lists/* COPY fluxbox /usr/share/fluxbox/styles/ COPY --chown=selenium:root fluxbox /home/selenium/.fluxbox/ COPY aerokube.png /usr/share/images/fluxbox/ COPY --from=go /fileserver/fileserver /usr/bin/ COPY --from=go /xseld/xseld /usr/bin/