Skip to content

Commit bdb2338

Browse files
authored
Merge pull request #796 from lightpanda-io/docker
update dockerfile to multi-arch
2 parents bbafb04 + 898b73f commit bdb2338

File tree

1 file changed

+17
-24
lines changed

1 file changed

+17
-24
lines changed

Dockerfile

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
FROM ubuntu:24.04
1+
FROM debian:stable
22

33
ARG MINISIG=0.12
44
ARG ZIG=0.14.1
55
ARG ZIG_MINISIG=RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U
6-
ARG ARCH=x86_64
76
ARG V8=13.6.233.8
87
ARG ZIG_V8=v0.1.24
8+
ARG TARGETPLATFORM
99

1010
RUN apt-get update -yq && \
1111
apt-get install -yq xz-utils \
@@ -20,30 +20,19 @@ RUN curl --fail -L -O https://github.com/jedisct1/minisign/releases/download/${M
2020
tar xvzf minisign-${MINISIG}-linux.tar.gz
2121

2222
# install zig
23-
RUN curl --fail -L -O https://ziglang.org/download/${ZIG}/zig-${ARCH}-linux-${ZIG}.tar.xz
24-
RUN curl --fail -L -O https://ziglang.org/download/${ZIG}/zig-${ARCH}-linux-${ZIG}.tar.xz.minisig
25-
26-
RUN minisign-linux/${ARCH}/minisign -Vm zig-${ARCH}-linux-${ZIG}.tar.xz -P ${ZIG_MINISIG}
27-
28-
# clean minisg
29-
RUN rm -fr minisign-0.11-linux.tar.gz minisign-linux
30-
31-
# install zig
32-
RUN tar xvf zig-${ARCH}-linux-${ZIG}.tar.xz && \
23+
RUN case $TARGETPLATFORM in \
24+
"linux/arm64") ARCH="aarch64" ;; \
25+
*) ARCH="x86_64" ;; \
26+
esac && \
27+
curl --fail -L -O https://ziglang.org/download/${ZIG}/zig-${ARCH}-linux-${ZIG}.tar.xz && \
28+
curl --fail -L -O https://ziglang.org/download/${ZIG}/zig-${ARCH}-linux-${ZIG}.tar.xz.minisig && \
29+
minisign-linux/${ARCH}/minisign -Vm zig-${ARCH}-linux-${ZIG}.tar.xz -P ${ZIG_MINISIG} && \
30+
tar xvf zig-${ARCH}-linux-${ZIG}.tar.xz && \
3331
mv zig-${ARCH}-linux-${ZIG} /usr/local/lib && \
3432
ln -s /usr/local/lib/zig-${ARCH}-linux-${ZIG}/zig /usr/local/bin/zig
3533

36-
# clean up zig install
37-
RUN rm -fr zig-${ARCH}-linux-${ZIG}.tar.xz zig-${ARCH}-linux-${ZIG}.tar.xz.minisig
38-
39-
# force use of http instead of ssh with github
40-
RUN cat <<EOF > /root/.gitconfig
41-
[url "https://github.com/"]
42-
insteadOf="git@github.com:"
43-
EOF
44-
4534
# clone lightpanda
46-
RUN git clone git@github.com:lightpanda-io/browser.git
35+
RUN git clone https://github.com/lightpanda-io/browser.git
4736

4837
WORKDIR /browser
4938

@@ -56,14 +45,18 @@ RUN make install-libiconv && \
5645
make install-mimalloc
5746

5847
# download and install v8
59-
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 && \
48+
RUN case $TARGETPLATFORM in \
49+
"linux/arm64") ARCH="aarch64" ;; \
50+
*) ARCH="x86_64" ;; \
51+
esac && \
52+
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 && \
6053
mkdir -p v8/out/linux/release/obj/zig/ && \
6154
mv libc_v8.a v8/out/linux/release/obj/zig/libc_v8.a
6255

6356
# build release
6457
RUN make build
6558

66-
FROM ubuntu:24.04
59+
FROM debian:stable-slim
6760

6861
# copy ca certificates
6962
COPY --from=0 /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt

0 commit comments

Comments
 (0)