diff --git a/Dockerfile b/Dockerfile index db1ec12f..890e66f6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,11 @@ -FROM ubuntu:24.04 +FROM debian:stable ARG MINISIG=0.12 ARG ZIG=0.14.1 ARG ZIG_MINISIG=RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U -ARG ARCH=x86_64 ARG V8=13.6.233.8 ARG ZIG_V8=v0.1.24 +ARG TARGETPLATFORM RUN apt-get update -yq && \ apt-get install -yq xz-utils \ @@ -20,30 +20,19 @@ RUN curl --fail -L -O https://github.com/jedisct1/minisign/releases/download/${M tar xvzf minisign-${MINISIG}-linux.tar.gz # install zig -RUN curl --fail -L -O https://ziglang.org/download/${ZIG}/zig-${ARCH}-linux-${ZIG}.tar.xz -RUN curl --fail -L -O https://ziglang.org/download/${ZIG}/zig-${ARCH}-linux-${ZIG}.tar.xz.minisig - -RUN minisign-linux/${ARCH}/minisign -Vm zig-${ARCH}-linux-${ZIG}.tar.xz -P ${ZIG_MINISIG} - -# clean minisg -RUN rm -fr minisign-0.11-linux.tar.gz minisign-linux - -# install zig -RUN tar xvf zig-${ARCH}-linux-${ZIG}.tar.xz && \ +RUN case $TARGETPLATFORM in \ + "linux/arm64") ARCH="aarch64" ;; \ + *) ARCH="x86_64" ;; \ + esac && \ + curl --fail -L -O https://ziglang.org/download/${ZIG}/zig-${ARCH}-linux-${ZIG}.tar.xz && \ + curl --fail -L -O https://ziglang.org/download/${ZIG}/zig-${ARCH}-linux-${ZIG}.tar.xz.minisig && \ + minisign-linux/${ARCH}/minisign -Vm zig-${ARCH}-linux-${ZIG}.tar.xz -P ${ZIG_MINISIG} && \ + tar xvf zig-${ARCH}-linux-${ZIG}.tar.xz && \ mv zig-${ARCH}-linux-${ZIG} /usr/local/lib && \ ln -s /usr/local/lib/zig-${ARCH}-linux-${ZIG}/zig /usr/local/bin/zig -# clean up zig install -RUN rm -fr zig-${ARCH}-linux-${ZIG}.tar.xz zig-${ARCH}-linux-${ZIG}.tar.xz.minisig - -# force use of http instead of ssh with github -RUN cat < /root/.gitconfig -[url "https://github.com/"] - insteadOf="git@github.com:" -EOF - # clone lightpanda -RUN git clone git@github.com:lightpanda-io/browser.git +RUN git clone https://github.com/lightpanda-io/browser.git WORKDIR /browser @@ -56,14 +45,18 @@ RUN make install-libiconv && \ make install-mimalloc # download and install v8 -RUN curl --fail -L -o libc_v8.a https://github.com/lightpanda-io/zig-v8-fork/releases/download/${ZIG_V8}/libc_v8_${V8}_linux_${ARCH}.a && \ +RUN case $TARGETPLATFORM in \ + "linux/arm64") ARCH="aarch64" ;; \ + *) ARCH="x86_64" ;; \ + esac && \ + curl --fail -L -o libc_v8.a https://github.com/lightpanda-io/zig-v8-fork/releases/download/${ZIG_V8}/libc_v8_${V8}_linux_${ARCH}.a && \ mkdir -p v8/out/linux/release/obj/zig/ && \ mv libc_v8.a v8/out/linux/release/obj/zig/libc_v8.a # build release RUN make build -FROM ubuntu:24.04 +FROM debian:stable-slim # copy ca certificates COPY --from=0 /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt