forked from iped-docker/iped
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.dependencies
268 lines (264 loc) · 12.2 KB
/
Dockerfile.dependencies
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
# FROM nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04
FROM ubuntu:22.04
ARG PKGTMPDIR=/tmp/pkgs
ENV TZ=Brazil/East DEBIAN_FRONTEND=noninteractive LANG=C.UTF-8 LC_ALL=C.UTF-8 SAL_USE_VCLPLUGIN='gtk' \
JAVA_HOME=/usr/lib/jvm/bellsoft-java11-full-amd64/ LD_LIBRARY_PATH=/usr/lib/:/usr/local/lib/python3.9/dist-packages/jep/
RUN mkdir -p ${PKGTMPDIR} && cd ${PKGTMPDIR} \
&& apt-get update && apt-get install -y curl wget gnupg apt-utils apt-transport-https software-properties-common \
&& apt-get dist-upgrade -y \
&& add-apt-repository ppa:deadsnakes/ppa \
&& wget -q -O - https://download.bell-sw.com/pki/GPG-KEY-bellsoft | tee /etc/apt/trusted.gpg.d/bellsoft.asc \
&& echo "deb [arch=amd64] https://apt.bell-sw.com/ stable main" | tee /etc/apt/sources.list.d/bellsoft.list \
&& apt-get update \
&& apt-get install -y \
git \
build-essential autoconf automake autopoint libtool pkg-config yasm gettext flex byacc ant ant-optional \
zlib1g-dev libncurses5-dev libcurl4-openssl-dev libexpat1-dev libreadline-dev \
wget unzip patch \
libaa1-dev libasound2-dev libcaca-dev libcdparanoia-dev libdca-dev \
libdirectfb-dev libenca-dev libfontconfig1-dev libfreetype6-dev \
libfribidi-dev libgif-dev libgl1-mesa-dev libjack-jackd2-dev libopenal1 libpulse-dev \
libsdl1.2-dev libvdpau-dev libxinerama-dev libxv-dev libxvmc-dev libxxf86dga-dev \
libxxf86vm-dev librtmp-dev libsctp-dev libass-dev libfaac-dev libsmbclient-dev libtheora-dev \
libogg-dev libxvidcore-dev libspeex-dev libvpx-dev libdv4-dev \
libfuse-dev fuse-dbg libfuse2 uuid-dev libzip2 python-wchartype \
libopencore-amrnb-dev libopencore-amrwb-dev libmp3lame-dev libtwolame-dev \
libmad0-dev libgsm1-dev libbs2b-dev liblzo2-dev ladspa-sdk libfaad-dev \
libmpg123-dev libopus-dev libbluray-dev libaacs-dev \
libjpeg-dev \
libtiff-dev \
libpng-dev \
libwmf-dev \
libgif-dev \
libheif-dev \
libwebp-dev \
librsvg2-dev \
libopenexr-dev \
libatomic1 \
vim \
less\
libparse-win32registry-perl \
tesseract-ocr tesseract-ocr-osd tesseract-ocr-por tesseract-ocr-eng tesseract-ocr-deu tesseract-ocr-frk tesseract-ocr-ita \
graphviz \
bellsoft-java11-full \
mplayer \
rifiuti2 \
python3.9 python3.9-distutils python3-pip python3.9-dev \
sudo \
&& echo "#####################################" \
&& echo " Installing LIBSSL v1.1 to be used with sleuthkit IPED patch" \
&& echo "#####################################" \
&& echo "deb http://security.ubuntu.com/ubuntu focal-security main" | tee /etc/apt/sources.list.d/focal-security.list \
&& apt-get update \
&& apt-get install -y libssl-dev=1.1.1f-1ubuntu2.22 \
&& rm /etc/apt/sources.list.d/focal-security.list && apt-get update \
&& echo "#####################################" \
&& echo "install libbfio" \
&& echo "#####################################" \
&& cd ${PKGTMPDIR} \
&& git clone https://github.com/libyal/libbfio \
&& cd ${PKGTMPDIR}/libbfio \
&& ./synclibs.sh \
&& ./autogen.sh \
&& ./configure --prefix=/usr \
&& make all install \
&& rm -rf ${PKGTMPDIR}/libbfio \
&& echo "#####################################" \
&& echo "install libvslvm - removed branch - is currently only building on master" \
&& echo "#####################################" \
&& cd ${PKGTMPDIR} \
&& git clone https://github.com/libyal/libvslvm \
&& cd ${PKGTMPDIR}/libvslvm \
&& ./synclibs.sh \
&& ./autogen.sh \
&& ./configure --prefix=/usr \
&& make all install \
&& rm -rf ${PKGTMPDIR}/libvslvm \
&& echo "#####################################" \
&& echo "install libvmdk - removed branch - is currently only building on master" \
&& echo "#####################################" \
&& cd ${PKGTMPDIR} \
&& git clone https://github.com/libyal/libvmdk \
&& cd ${PKGTMPDIR}/libvmdk \
&& ./synclibs.sh \
&& ./autogen.sh \
&& ./configure --prefix=/usr \
&& make all install \
&& rm -rf ${PKGTMPDIR}/libvmdk \
&& echo "#####################################" \
&& echo "install libvhdi - removed branch - is currently only building on master" \
&& echo "#####################################" \
&& cd ${PKGTMPDIR} \
&& git clone https://github.com/libyal/libvhdi \
&& cd ${PKGTMPDIR}/libvhdi \
&& ./synclibs.sh \
&& ./autogen.sh \
&& ./configure --prefix=/usr \
&& make all install \
&& rm -rf ${PKGTMPDIR}/libvhdi \
&& echo "#####################################" \
&& echo "install libewf" \
&& echo "#####################################" \
&& cd ${PKGTMPDIR} \
&& git clone https://github.com/libyal/libewf \
&& cd ${PKGTMPDIR}/libewf \
&& ./synclibs.sh \
&& ./autogen.sh \
&& ./configure --prefix=/usr \
&& make all install \
&& rm -rf ${PKGTMPDIR}/libewf \
&& echo "#####################################" \
&& echo "install afflib" \
&& echo "#####################################" \
&& cd ${PKGTMPDIR} \
&& git clone -b v3.7.20 https://github.com/sshock/AFFLIBv3 \
&& cd ${PKGTMPDIR}/AFFLIBv3 \
&& ./bootstrap.sh \
&& ./configure --prefix=/usr \
&& make all install \
&& rm -rf ${PKGTMPDIR}/AFFLIBv3 \
&& echo "#####################################################" \
&& echo " Installing Sleuthkit with IPED patch with libssl" \
&& echo "#####################################################" \
&& cd ${PKGTMPDIR} \
&& git clone -b 4.12.0_iped_patch https://github.com/sepinf-inc/sleuthkit \
&& cd ${PKGTMPDIR}/sleuthkit/ \
&& echo "Patching ewf.cpp to TSK (The SleuthKit) uses version 20231119 of libewf library" \
&& echo "#####################################" \
&& curl https://raw.githubusercontent.com/iped-docker/iped/master/resources/ewf.cpp.patch --output ${PKGTMPDIR}/ewf.cpp.patch \
&& patch tsk/img/ewf.cpp < ${PKGTMPDIR}/ewf.cpp.patch \
&& echo "#####################################" \
&& ./bootstrap \
&& ./configure --prefix=/usr/ \
&& make && make install \
&& rm -rf ${PKGTMPDIR}/sleuthkit/ \
&& echo "#####################################" \
&& echo "The libagdb only have branch master" \
&& echo "#####################################" \
&& cd ${PKGTMPDIR} \
&& git clone https://github.com/libyal/libagdb.git \
&& cd ${PKGTMPDIR}/libagdb \
&& ./synclibs.sh \
&& ./autogen.sh \
&& ./configure --prefix=/usr \
&& make all install \
&& rm -rf ${PKGTMPDIR}/libagdb \
&& echo "#####################################" \
&& echo "install libevtx - master is th only working branch" \
&& echo "#####################################" \
&& cd ${PKGTMPDIR} \
&& git clone https://github.com/libyal/libevtx \
&& cd ${PKGTMPDIR}/libevtx \
&& ./synclibs.sh \
&& ./autogen.sh \
&& ./configure --prefix=/usr \
&& make all install \
&& rm -rf ${PKGTMPDIR}/libevtx \
&& echo "#####################################" \
&& echo "Install libevt - master is th only working branch" \
&& echo "#####################################" \
&& cd ${PKGTMPDIR} \
&& git clone https://github.com/libyal/libevt \
&& cd ${PKGTMPDIR}/libevt \
&& ./synclibs.sh \
&& ./autogen.sh \
&& ./configure --prefix=/usr \
&& make all install \
&& rm -rf ${PKGTMPDIR}/libevt \
&& echo "#####################################" \
&& echo "Install libscca - master is th only working branch" \
&& echo "#####################################" \
&& cd ${PKGTMPDIR} \
&& git clone https://github.com/libyal/libscca \
&& cd ${PKGTMPDIR}/libscca \
&& ./synclibs.sh \
&& ./autogen.sh \
&& ./configure --prefix=/usr \
&& make all install \
&& rm -rf ${PKGTMPDIR}/libscca \
&& echo "#####################################" \
&& echo "Install libesedb - master is th only working branch" \
&& echo "#####################################" \
&& cd ${PKGTMPDIR} \
&& git clone https://github.com/libyal/libesedb \
&& cd ${PKGTMPDIR}/libesedb \
&& ./synclibs.sh \
&& ./autogen.sh \
&& ./configure --prefix=/usr \
&& make all install \
&& rm -rf ${PKGTMPDIR}/libesedb \
&& echo "#####################################" \
&& echo "Install libpff without branch also, because latest release got problems" \
&& echo "#####################################" \
&& cd ${PKGTMPDIR} \
&& git clone https://github.com/libyal/libpff \
&& cd ${PKGTMPDIR}/libpff \
&& ./synclibs.sh \
&& ./autogen.sh \
&& ./configure --prefix=/usr \
&& make all install \
&& rm -rf ${PKGTMPDIR}/libpff \
&& echo "#####################################" \
&& echo "Install libmsiecf - master is th only working branch" \
&& echo "#####################################" \
&& cd ${PKGTMPDIR} \
&& git clone https://github.com/libyal/libmsiecf \
&& cd ${PKGTMPDIR}/libmsiecf \
&& ./synclibs.sh \
&& ./autogen.sh \
&& ./configure --prefix=/usr \
&& make all install \
&& rm -rf ${PKGTMPDIR}/libmsiecf \
&& echo "#####################################" \
&& echo "rifiuti2 - rifiuti2 is being installed from packages due to gettext incompatibility" \
&& echo "Just creating rifiuti link" \
&& echo "#####################################" \
#&& cd ${PKGTMPDIR} \
#&& git clone --branch="0.7.0" https://github.com/abelcheung/rifiuti2 \
#&& cd ${PKGTMPDIR}/rifiuti2 \
#&& autoreconf -f -i -v \
#&& ./configure --prefix=/usr \
#&& make all install \
#&& rm -rf ${PKGTMPDIR}/rifiuti2
&& update-alternatives --install /usr/bin/rifiuti rifiuti /usr/bin/rifiuti2 1 \
&& echo "#####################################" \
&& echo "Instal ImageMagik" \
&& echo "#####################################" \
&& cd ${PKGTMPDIR} \
&& git clone --branch "7.1.1-21" https://github.com/ImageMagick/ImageMagick \
&& cd ${PKGTMPDIR}/ImageMagick \
&& ./configure --prefix=/usr \
&& make all install \
&& rm -rf ${PKGTMPDIR}/ImageMagick \
&& echo "#####################################" \
&& echo "Creating mplayer config" \
&& echo "#####################################" \
&& mplayer \
&& echo "#####################################" \
&& echo "Installing PYTHON IPED Dependencies" \
&& echo " ->> Huggingsound REMOVED from default cuda image due incompatibility of pytorch+cuda version" \
&& echo " ->> On the default container Huggingsound transcription is to be used trough transcription server" \
&& echo "#####################################" \
&& cd /root/ \
&& update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1 \
&& update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1 \
&& python -m pip install pip --upgrade \
&& python -m pip install cmake \
&& python -m pip install dlib==19.24.2 \
&& python -m pip install numpy==1.26.4 \
&& python -m pip install jep==4.2.0 \
# && python -m pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117 \
&& echo "Due to container high storage usage, Tensorflow was removed - it's only used on yahoo image detection - if you want to use it, uncomment the following line:" \
&& echo "python -m pip install tensorflow==2.9.1 tensorrt==8.5.3.1" \
&& python -m pip install keras \
pillow \
bs4 \
face_recognition \
&& echo "#####################################" \
&& echo "Cleaning UP the container " \
&& echo "#####################################" \
&& apt-get remove -y python3-pip build-essential build-essential autoconf automake autopoint libtool pkg-config yasm gettext flex byacc ant ant-optional \
&& apt-get autoremove -y \
&& rm -rfv /root/.cache/pip && rm -rfv ${PKGTMPDIR}/* && apt-get clean && rm -rfv /var/lib/apt/lists/*
WORKDIR /
CMD ["/bin/bash"]