Commit afe921fc by Peter Eacmen

initial Dockerfile along with changes required for setting locale correctly…

initial Dockerfile along with changes required for setting locale correctly inside Docker container.
parent 701e128b
build
dist
.coverage
*.extracted
*.pyc
FROM python:3-buster
ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/src/app/bin
# Make stdout/stderr unbuffered. This prevents delay between output and cloud.
# Might not be needed by all apps, but slow ALL of them. test per app/container
#ENV PYTHONUNBUFFERED "1"
### To prevent the Debian installer from freaking out on configuration of packages
ENV DEBIAN_FRONTEND noninteractive
# Pinned versions of few oddball dependencies
ENV SASQUATCH_COMMIT 3e0cc40fc6dbe32bd3a5e6c553b3320d5d91ceed
ENV UBIREADER_COMMIT 0955e6b95f07d849a182125919a1f2b6790d5b51
ENV BINWALK_COMMIT 3154b0012e7dbaf2b20edd5c0a2350ec64009869
COPY . /tmp
WORKDIR /tmp
### Took out the deps.sh from binwalk's installation script, baked in the dependencies into the main prereqs installation
### The prereqs that dont come from system's repo, are taken care of later
RUN set -xue \
&& apt-get update -qy \
&& apt-get -t buster dist-upgrade -yq --no-install-recommends -o Dpkg::Options::="--force-confold" \
&& ./deps.sh --yes \
&& python3 setup.py install && binwalk -h > /dev/null \
&& echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \
&& echo "LANG=en_US.UTF-8" >> /etc/default/locale \
&& echo "LANGUAGE=en_US:en" >> /etc/default/locale \
&& echo "LC_ALL=en_US.UTF-8" >> /etc/default/locale \
&& locale-gen \
&& apt-get -y autoremove \
&& apt-get -y autoclean \
&& useradd -m -u 1000 -s /sbin/nologin appuser \
&& rm -rf -- \
/var/lib/apt/lists/* \
/tmp/* /var/tmp/* \
/usr/src/app/*.whl /usr/src/app/*.tar.gz \
/root/.cache/pip \
/usr/src/app/repos \
/usr/src/app/.git \
/usr/src/app/src
ENV DEBIAN_FRONTEND teletype
# Setup locale. This prevents Python 3 IO encoding issues.
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
ENV PYTHONUTF8 "1"
ENV PYTHONHASHSEED "random"
WORKDIR /home/appuser
USER appuser
# dummy run because it creates some files on first run in home dir
RUN binwalk -h > /dev/null
ENTRYPOINT ["binwalk"]
...@@ -41,23 +41,23 @@ APTGETCMD="apt-get" ...@@ -41,23 +41,23 @@ APTGETCMD="apt-get"
YUMCMD="yum" YUMCMD="yum"
if [ $distro = "Kali" ] if [ $distro = "Kali" ]
then then
APT_CANDIDATES="git build-essential qt5base-dev mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract util-linux firmware-mod-kit cramfsswap squashfs-tools zlib1g-dev liblzma-dev liblzo2-dev sleuthkit default-jdk lzop cpio" APT_CANDIDATES="git locales build-essential qt5base-dev mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract util-linux firmware-mod-kit cramfsswap squashfs-tools zlib1g-dev liblzma-dev liblzo2-dev sleuthkit default-jdk lzop cpio"
elif [ $distro_version = "14" ] elif [ $distro_version = "14" ]
then then
APT_CANDIDATES="git build-essential libqt4-opengl mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract cramfsprogs cramfsswap squashfs-tools zlib1g-dev liblzma-dev liblzo2-dev sleuthkit default-jdk lzop srecord cpio" APT_CANDIDATES="git locales build-essential libqt4-opengl mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract cramfsprogs cramfsswap squashfs-tools zlib1g-dev liblzma-dev liblzo2-dev sleuthkit default-jdk lzop srecord cpio"
elif [ $distro_version = "15" ] elif [ $distro_version = "15" ]
then then
APT_CANDIDATES="git build-essential libqt4-opengl mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract cramfsprogs cramfsswap squashfs-tools zlib1g-dev liblzma-dev liblzo2-dev sleuthkit default-jdk lzop srecord cpio" APT_CANDIDATES="git locales build-essential libqt4-opengl mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract cramfsprogs cramfsswap squashfs-tools zlib1g-dev liblzma-dev liblzo2-dev sleuthkit default-jdk lzop srecord cpio"
elif [ $distro_version = "16" ] elif [ $distro_version = "16" ]
then then
APT_CANDIDATES="git build-essential libqt4-opengl mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract cramfsprogs cramfsswap squashfs-tools zlib1g-dev liblzma-dev liblzo2-dev sleuthkit default-jdk lzop srecord cpio" APT_CANDIDATES="git locales build-essential libqt4-opengl mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract cramfsprogs cramfsswap squashfs-tools zlib1g-dev liblzma-dev liblzo2-dev sleuthkit default-jdk lzop srecord cpio"
elif [ $distro_version = "18" ] elif [ $distro_version = "18" ]
then then
APT_CANDIDATES="git build-essential libqt4-opengl mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract cramfsswap squashfs-tools zlib1g-dev liblzma-dev liblzo2-dev sleuthkit default-jdk lzop srecord cpio" APT_CANDIDATES="git locales build-essential libqt4-opengl mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract cramfsswap squashfs-tools zlib1g-dev liblzma-dev liblzo2-dev sleuthkit default-jdk lzop srecord cpio"
else else
APT_CANDIDATES="git build-essential qtbase5-dev mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract cramfsswap squashfs-tools zlib1g-dev liblzma-dev liblzo2-dev sleuthkit default-jdk lzop srecord cpio" APT_CANDIDATES="git locales build-essential qtbase5-dev mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract cramfsswap squashfs-tools zlib1g-dev liblzma-dev liblzo2-dev sleuthkit default-jdk lzop srecord cpio"
fi fi
PYTHON3_APT_CANDIDATES="python3-crypto python3-gnupg python3-pip python3-tk" PYTHON3_APT_CANDIDATES=""
PYTHON3_YUM_CANDIDATES="" PYTHON3_YUM_CANDIDATES=""
YUM_CANDIDATES="git gcc gcc-c++ make openssl-devel qtwebkit-devel qt-devel gzip bzip2 tar arj p7zip p7zip-plugins cabextract squashfs-tools zlib zlib-devel lzo lzo-devel xz xz-compat-libs xz-libs xz-devel xz-lzma-compat python-backports-lzma lzip pyliblzma perl-Compress-Raw-Lzma lzop srecord" YUM_CANDIDATES="git gcc gcc-c++ make openssl-devel qtwebkit-devel qt-devel gzip bzip2 tar arj p7zip p7zip-plugins cabextract squashfs-tools zlib zlib-devel lzo lzo-devel xz xz-compat-libs xz-libs xz-devel xz-lzma-compat python-backports-lzma lzip pyliblzma perl-Compress-Raw-Lzma lzop srecord"
PIP_COMMANDS="pip3" PIP_COMMANDS="pip3"
...@@ -256,9 +256,7 @@ if [ $? -ne 0 ] ...@@ -256,9 +256,7 @@ if [ $? -ne 0 ]
echo "Package installation failed: $PKG_CANDIDATES" echo "Package installation failed: $PKG_CANDIDATES"
exit 1 exit 1
fi fi
install_pip_package setuptools install_pip_package "setuptools matplotlib capstone crypto gnupg tk"
install_pip_package matplotlib
install_pip_package capstone
install_sasquatch install_sasquatch
install_yaffshiv install_yaffshiv
install_jefferson install_jefferson
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment