-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
155 lines (146 loc) · 3.56 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
FROM ubuntu:22.04 AS build
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y \
autoconf \
autoconf-archive \
automake \
autotools-dev \
bison \
clang \
clang-tools \
curl \
cmake \
default-jdk \
default-jre \
faketime libdbd-mysql \
flex \
gcc \
gcc-12 \
gdb \
git \
libaprutil1-dev \
libbson-dev \
libcurl4-gnutls-dev \
libdbi-dev \
libgcrypt20-dev \
libglib2.0-dev \
libgnutls28-dev \
libgrok1 libgrok-dev \
libhiredis-dev \
libevent-dev \
libkrb5-dev \
liblz4-dev \
libmaxminddb-dev libmongoc-dev \
libmongoc-dev \
libmysqlclient-dev \
libnet1-dev \
libpcap-dev \
librabbitmq-dev \
librdkafka-dev \
libsnmp-dev \
libssl-dev libsasl2-dev \
libsystemd-dev \
libtirpc-dev \
libtokyocabinet-dev \
libtool \
libtool-bin \
libzstd-dev \
logrotate \
lsof \
make \
mysql-server \
net-tools \
pkg-config \
postgresql-client libpq-dev \
python3-docutils \
python3-pip \
python3-pysnmp4 \
software-properties-common \
sudo \
uuid-dev \
valgrind \
vim \
wget \
zlib1g-dev \
zstd
RUN echo 'deb http://download.opensuse.org/repositories/home:/rgerhards/xUbuntu_22.04/ /' > /etc/apt/sources.list.d/home:rgerhards.list && \
wget -nv https://download.opensuse.org/repositories/home:rgerhards/xUbuntu_22.04/Release.key -O Release.key && \
apt-key add - < Release.key && \
apt-get update -y && \
apt-get install -y \
libestr-dev \
librelp-dev \
liblogging-stdlog-dev \
libfastjson-dev \
liblognorm-dev
RUN mkdir /build && \
mkdir /installed && \
echo "/installed/usr/local/lib/" > /etc/ld.so.conf.d/custom.conf
RUN apt-get -y install cmake
RUN cd /build && \
git clone https://github.com/stricaud/faup.git && \
cd faup && \
cd build && \
cmake .. && make -j && \
DESTDIR="/installed" make install && \
cd .. && \
cd ..
RUN git clone https://github.com/VultureProject/rsyslog.git --branch imhiredis_syntax /rsyslog &&\
cd /rsyslog &&\
./autogen.sh --enable-debug --disable-generate-man-pages --enable-compile-warning=warning \
--enable-omstdout \
--enable-impcap \
--enable-elasticsearch \
--enable-ommongodb \
--enable-gnutls \
--enable-mmnormalize \
--enable-mmjsonparse \
--enable-imfile \
--enable-relp \
--enable-impstats \
--enable-omuxsock \
--enable-mmdblookup \
--enable-ffaup \
--enable-imkafka \
--enable-omkafka \
--enable-omhiredis \
--enable-imhiredis \
CFLAGS="-I/installed/usr/local/include/ -I/installed/usr/local/lib/" &&\
DESTDIR="/installed" make install
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
COPY --from=build /installed /
COPY rsyslog.conf /etc/rsyslog.conf
RUN apt-get update && \
apt-get upgrade && \
apt-get install --no-install-recommends -y \
libbson-1.0-0 \
libcurl3-gnutls \
libestr0 \
libevent-2.1-7 \
libevent-pthreads-2.1-7 \
libfastjson4 \
libgnutls30 \
libhiredis0.14 \
libkrb5-3 \
liblognorm5 \
liblz4-1 \
libmaxminddb0 \
libmongoc-1.0-0 \
libmysqlclient21 \
libpcap0.8 \
libpq5 \
librabbitmq4 \
librdkafka1 \
librelp0 \
libsasl2-2 \
libsnmp40 \
libssl3 \
libsystemd0 \
libtirpc3 \
libuuid1 \
libzstd1 \
zlib1g && \
apt-get clean