# ---------------------------------------------------------------------------- #
# ------------------------------- build stage -------------------------------- #
# ---------------------------------------------------------------------------- #

FROM ubuntu:24.04 AS build

ENV DOCKER_BUILD="yes"
ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get -y update \
 && apt-get install -y --no-install-recommends \
        ca-certificates \
        less \
        pkg-config \
        wget \
 && wget --quiet --trust-server-names --no-check-certificate https://tranalyzer.com/download/tranalyzer/latest \
 && mkdir --parents /t2-src \
 && tar xzf tranalyzer2-*.tar.gz -C /tmp/ \
 && rm tranalyzer2-*.tar.gz \
 && mv /tmp/tranalyzer2-*/* /t2-src \
 && /t2-src/setup.sh --no-latex --all || true \
 # clean image
 && /t2-src/autogen.sh --all --clean \
 && make -C /t2-src/utils/t2whois all clean \
 && make -C /t2-src/utils/t2b2t all clean \
 && make -C /t2-src/plugins/findexer/fextractor all clean \
 && /t2-src/autogen.sh tranalyzer2 \
 && find /t2-src/tranalyzer2/build/ -type f -not -name tranalyzer -delete \
 && rm -rf /t2-src/utils/subnet/subnet[46].txt \
 && apt-get -y autoremove \
 && apt-get clean \
 && rm -rf /var/lib/apt/lists/*

# ---------------------------------------------------------------------------- #
# ----------------------------- production stage ----------------------------- #
# ---------------------------------------------------------------------------- #

FROM ubuntu:24.04 AS prod

ENV DOCKER_BUILD="yes"
ENV DEBIAN_FRONTEND=noninteractive

COPY --from=build /t2-src/scripts/ /t2-src/scripts/
COPY --from=build /t2-src/tranalyzer2/build/tranalyzer /t2-src/tranalyzer2/build/tranalyzer
COPY --from=build /t2-src/plugins/findexer/fextractor/fextractor /t2-src/plugins/findexer/fextractor/fextractor
COPY --from=build /t2-src/utils/t2b2t/t2b2t /t2-src/utils/t2b2t/t2b2t
COPY --from=build /t2-src/utils/t2whois/t2whois /t2-src/utils/t2whois/t2whois
COPY --from=build /root/.tranalyzer/plugins/ /root/.tranalyzer/plugins/

RUN apt-get update \
 && apt-get install -y --no-install-recommends \
        gawk \
        libmariadb3 \
        libmongoc-1.0-0 \
        libpcap0.8 \
        libpq5 \
        libsqlite3-0 \
        libssl3 \
        zlib1g \
 # clean image
 && apt-get -y autoremove \
 && apt-get clean \
 && rm -rf /var/lib/apt/lists/*

CMD ["/t2-src/tranalyzer2/build/tranalyzer"]
