mirror of
				https://github.com/lightpanda-io/browser.git
				synced 2025-10-29 23:23:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM debian:stable
 | |
| 
 | |
| ARG MINISIG=0.12
 | |
| ARG ZIG=0.14.1
 | |
| ARG ZIG_MINISIG=RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U
 | |
| ARG V8=13.6.233.8
 | |
| ARG ZIG_V8=v0.1.27
 | |
| ARG TARGETPLATFORM
 | |
| 
 | |
| RUN apt-get update -yq && \
 | |
|     apt-get install -yq xz-utils \
 | |
|         python3 ca-certificates git \
 | |
|         pkg-config libglib2.0-dev \
 | |
|         gperf libexpat1-dev \
 | |
|         cmake clang \
 | |
|         curl git
 | |
| 
 | |
| # install minisig
 | |
| RUN curl --fail -L -O https://github.com/jedisct1/minisign/releases/download/${MINISIG}/minisign-${MINISIG}-linux.tar.gz && \
 | |
|     tar xvzf minisign-${MINISIG}-linux.tar.gz
 | |
| 
 | |
| # install zig
 | |
| 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
 | |
| 
 | |
| # clone lightpanda
 | |
| RUN git clone https://github.com/lightpanda-io/browser.git
 | |
| 
 | |
| WORKDIR /browser
 | |
| 
 | |
| # install deps
 | |
| RUN git submodule init && \
 | |
|     git submodule update --recursive
 | |
| 
 | |
| RUN make install-libiconv && \
 | |
|     make install-netsurf && \
 | |
|     make install-mimalloc
 | |
| 
 | |
| # download and install v8
 | |
| 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 debian:stable-slim
 | |
| 
 | |
| # copy ca certificates
 | |
| COPY --from=0 /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
 | |
| 
 | |
| COPY --from=0 /browser/zig-out/bin/lightpanda /bin/lightpanda
 | |
| 
 | |
| EXPOSE 9222/tcp
 | |
| 
 | |
| CMD ["/bin/lightpanda", "serve", "--host", "0.0.0.0", "--port", "9222"]
 | 
