FROM lwthiker/curl-impersonate

WORKDIR /root

COPY . .

#backup
RUN cp -v .bashrc bashrc && cp .profile profile

# 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

# Compile
RUN /root/.cargo/bin/cargo build --release

# move bin to working dir
RUN mv /root/target/release/bml_proxy .

## 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  \

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"]
