added multistage build

This commit is contained in:
Shihaam Abdul Rahman 2023-05-30 22:34:06 +05:00
parent 0ad15b913c
commit 66ce95adaa
Signed by: shihaam
GPG Key ID: 6DA2E87EBC227636

View File

@ -1,44 +1,21 @@
FROM lwthiker/curl-impersonate
FROM rust:slim-bullseye AS build
WORKDIR /root
COPY . .
#backup
RUN cp -v .bashrc bashrc && cp .profile profile
RUN apt-get update \
&& apt-get install -y pkg-config \
build-essential \
openssl \
libssl-dev
# required stuff for compiling
RUN apt update \
&& apt install curl build-essential libssl-dev pkg-config -y --no-install-recommends
RUN curl https://sh.rustup.rs -o rust \
&& sh rust -y
RUN cargo build --release
# Compile
RUN /root/.cargo/bin/cargo build --release
FROM lwthiker/curl-impersonate:latest
# move bin to working dir
RUN mv /root/target/release/bml_proxy .
WORKDIR /root
COPY --from=build /root/target/release/bml_proxy /root/
## Clean up
RUN apt purge curl build-essential libssl-dev pkg-config cargo -y
RUN rm -rfv Cargo.lock Cargo.toml rust src rustup .cargo target .rustup \
/usr/share/perl \
/usr/share/zoneinfo \
/usr/bin/perl5.28.1 \
/usr/bin/perl \
/var/lib/apt/lists/* \
/var/lib/dpkg/info/* \
/var/cache/* \
/var/log/*
# /lib/x86_64-linux-gnu/libc-2.28.so \
# /lib/x86_64-linux-gnu/libm-2.28.so
# /usr/lib/gcc \
# /usr/lib/x86_64-linux-gnu \
ENV LD_PRELOAD="/usr/local/lib/libcurl-impersonate-chrome.so"
RUN cp -v bashrc .bashrc && cp -v profile .profile
#default variable
ENV LD_PRELOAD=/root/libs/libcurl-impersonate-chrome.so
# start service
CMD ["./bml_proxy"]
CMD /root/bml_proxy