65 lines
1.8 KiB
Docker
65 lines
1.8 KiB
Docker
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"]
|