A couple of changes to allow for continuous builds of ntopng v5 for Unifi Dream Machine (Pro)

This commit is contained in:
Robert Agbozo
2021-12-25 16:32:39 +00:00
parent 759a0ec614
commit db8ea2a050
11 changed files with 110 additions and 39 deletions

View File

@@ -1,13 +1,45 @@
FROM debian:buster-slim FROM debian:bullseye-slim
COPY entrypoint.sh /entrypoint.sh COPY entrypoint.sh /entrypoint.sh
COPY packages/*201206*.deb /tmp/ COPY packages/*_5.1*.deb /tmp/
RUN apt-get update && apt-get --no-install-recommends -y install libsqlite3-0 libexpat1 redis-server librrd8 logrotate libcurl4 libpcap0.8 libldap-2.4-2 libhiredis0.14 \ RUN sed -i -e's/ main/ main contrib/g' /etc/apt/sources.list && \
libssl1.1 libmariadbd19 lsb-release tar ethtool libcap2 bridge-utils libnetfilter-conntrack3 libzstd1 libmaxminddb0 \ apt-get update && apt-get --no-install-recommends -y install \
libradcli4 libjson-c3 libsnmp30 udev libzmq5 libcurl3-gnutls net-tools curl procps && rm -rf /var/lib/apt/lists/* \ libsqlite3-0 \
&& curl -Lo /tmp/geoipupdate_2.3.1-1_arm64.deb http://ftp.us.debian.org/debian/pool/contrib/g/geoipupdate/geoipupdate_2.3.1-1_arm64.deb \ libexpat1 \
&& dpkg -i /tmp/*.deb && rm /tmp/*.deb \ redis-server \
&& echo "-i=br0\n-n=1\n-W=3001" >> /etc/ntopng/ntopng.conf && chmod +x /entrypoint.sh librrd8 \
logrotate \
libcurl4 \
libpcap0.8 \
libldap-2.4-2 \
libhiredis0.14 \
libssl1.0 \
libmariadb3 \
whiptail \
libnuma1 \
libnetfilter-queue1 \
lsb-release \
tar \
ethtool \
libcap2 \
bridge-utils \
libnetfilter-conntrack3 \
libzstd1 \
libmaxminddb0 \
libradcli4 \
libjson-c5 \
libsnmp40 \
udev \
libzmq5 \
libcurl3-gnutls \
net-tools \
curl \
procps && rm -rf /var/lib/apt/lists/*
RUN curl -Lo /tmp/geoipupdate_2.3.1-1_arm64.deb http://ftp.us.debian.org/debian/pool/contrib/g/geoipupdate/geoipupdate_2.3.1-1_arm64.deb
RUN dpkg -i /tmp/*.deb && rm /tmp/*.deb && echo "-i=br0\n-n=1\n-W=3001" >> /etc/ntopng/ntopng.conf && chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"] ENTRYPOINT ["/entrypoint.sh"]

Binary file not shown.

Binary file not shown.

View File

@@ -1,47 +1,71 @@
#FROM arm64v8/debian:buster-slim #FROM arm64v8/debian:buster-slim
FROM debian:buster-slim FROM debian:bullseye-slim
#ADD qemu-aarch64-static /usr/bin #ADD qemu-aarch64-static /usr/bin
RUN apt-get update && apt-get --no-install-recommends -y install build-essential \ RUN apt-get update && apt install -y apt-utils && apt-get --no-install-recommends -y install \
libtool \
autoconf \ autoconf \
autogen \
automake \ automake \
pkg-config \ bison \
wget \ build-essential \
git \ clang \
sudo \
redis-server \
libjson-c-dev \
libssl-dev \
libcurl4-gnutls-dev \
libmaxminddb-dev \
libsqlite3-dev \
libreadline-dev \
libxml2-dev \
librrd-dev \
linux-headers-arm64 \
libpcap-dev \
libzmq3-dev \
debhelper \ debhelper \
fakeroot \ default-libmysqlclient-dev \
default-libmysqld-dev \ dkms \
dpkg-sig \ dpkg-sig \
fakeroot \
flex \
git \
gzip \
libcairo2-dev \
libcurl4-openssl-dev \
libexpat1-dev \ libexpat1-dev \
&& rm -rf /var/lib/apt/lists/* libhiredis-dev \
libldap2-dev \
libjson-c-dev \
libmaxminddb-dev \
libnetfilter-conntrack-dev \
libnetfilter-queue-dev \
librrd-dev \
libpango1.0-dev \
libpcap-dev \
libpng-dev \
libreadline-dev \
libsnmp-dev \
libsqlite3-dev \
libssl-dev \
libtool \
libtool-bin \
libxml2-dev \
libzmq5-dev \
linux-headers-arm64 \
npm \
pkg-config \
redis-server \
rename \
rrdtool \
sudo \
wget \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/* \
&& npm install -g uglify-es clean-css-cli
# build nDPI which is required by ntopng # build nDPI which is required by ntopng
RUN cd /root \ RUN cd /root && GIT_SSL_NO_VERIFY=1 git clone https://github.com/ntop/nDPI.git --branch dev
&& GIT_SSL_NO_VERIFY=1 git clone https://github.com/ntop/nDPI.git --branch 3.4; cd nDPI; ./autogen.sh; make -j4 RUN cd /root/nDPI && ./autogen.sh && ./configure && make -j4
# build ntopng # build ntopng
RUN cd /root \ RUN cd /root && GIT_SSL_NO_VERIFY=1 git clone https://github.com/ntop/ntopng --branch dev
&& GIT_SSL_NO_VERIFY=1 git clone https://github.com/ntop/ntopng --branch 4.2 \ RUN cd /root/ntopng && ./autogen.sh && ./configure && make -j4
&& cd ntopng \
&& ./autogen.sh \ RUN mkdir -p /root/dat_files && cd /root/dat_files && \
&& ./configure \ wget https://download.db-ip.com/free/dbip-country-lite-2021-12.mmdb.gz && \
&& make -j4 \ wget https://download.db-ip.com/free/dbip-city-lite-2021-12.mmdb.gz && \
wget https://download.db-ip.com/free/dbip-asn-lite-2021-12.mmdb.gz && \
gunzip ./*
# build deb packages # build deb packages
# This requires you have a .gnupg directory present as the Makefile will try to sign all the deb packages # This requires you have a .gnupg directory present as the Makefile will try to sign all the deb packages
@@ -49,4 +73,10 @@ RUN cd /root \
# #
# This last is currently commented since the automatic package builder does not detect the debian 10 buster container and inserts the wrong dependacies in # This last is currently commented since the automatic package builder does not detect the debian 10 buster container and inserts the wrong dependacies in
# ntopng/packages/debian/debian.ntopng # ntopng/packages/debian/debian.ntopng
#RUN cd packages/ubuntu && ./configure && make RUN cd /root/ntopng/packages/debian && \
./configure && \
sed -i '/dpkg-sig/s//#&/' Makefile && \
make && \
mkdir -p debs && \
mv *.deb debs

9
source/build.sh Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/sh
if [ -z $DOCKER_IMAGE ]; then
printf "Specify the Docker Image with the DOCKER_IMAGE environment variable"
return 1
fi
docker buildx build --platform linux/arm64 -t "$DOCKER_IMAGE" --load .