FROM ubuntu:20.04 as build ARG WEBKIT_VERSION="610.4.3.1.7" RUN \ apt-get update && \ apt-get -y install --no-install-recommends ca-certificates subversion && \ svn checkout https://svn.webkit.org/repository/webkit/tags/Safari-$WEBKIT_VERSION webkit && \ mkdir -p /opt/webkit && \ cd webkit && \ yes | DEBIAN_FRONTEND=noninteractive Tools/gtk/install-dependencies && \ cmake -DPORT=GTK -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/webkit -DUSE_WPE_RENDERER=OFF -DENABLE_MINIBROWSER=ON -DENABLE_BUBBLEWRAP_SANDBOX=OFF -DENABLE_GAMEPAD=OFF -DENABLE_SPELLCHECK=OFF -DENABLE_WAYLAND_TARGET=OFF -DUSE_OPENJPEG=OFF -DUSE_SOUP2=ON -GNinja && \ ninja && \ ninja install && \ rm -Rf /var/lib/apt/lists/* FROM golang:1.17 as go COPY cmd/prism /prism RUN \ apt-get update && \ apt-get install --no-install-recommends -y upx-ucl libx11-dev && \ cd /prism && \ GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" && \ upx /prism/prism && \ rm -Rf /var/lib/apt/lists/* FROM browsers/base:7.3.6 COPY --from=build /opt/webkit /opt/webkit COPY --from=go /prism/prism /usr/bin/ ENV LD_LIBRARY_PATH /opt/webkit/lib/:${LD_LIBRARY_PATH} RUN \ apt-get update && \ apt-get -y install --no-install-recommends \ libsoup2.4-1 \ libgtk-3-0 \ libwebp6 \ libwebpdemux2 \ libsecret-1-0 \ libhyphen0 \ libwoff1 \ libharfbuzz-icu0 \ libgstreamer-gl1.0-0 \ libopenjp2-7 \ libnotify4 \ libxslt1.1 \ libegl1 && \ ldconfig && \ apt-get clean && \ rm -Rf /tmp/* && rm -Rf /var/lib/apt/lists/* && \ chmod 777 /etc/ssl/certs && \ mkdir /tmp/ca-certificates && \ chmod 777 /tmp/ca-certificates COPY entrypoint.sh / USER selenium EXPOSE 4444 ENTRYPOINT ["/entrypoint.sh"]