tpotce/docker/elasticpot/Dockerfile
2024-12-05 21:12:18 +01:00

55 lines
1.3 KiB
Docker

FROM alpine:3.20 AS builder
#
# Include dist
COPY dist/ /root/dist/
#
# Install packages
RUN apk --no-cache -U upgrade && \
apk --no-cache -U add \
build-base \
ca-certificates \
git \
libffi-dev \
openssl \
openssl-dev \
postgresql-dev \
py3-cryptography \
py3-elasticsearch \
py3-geoip2 \
py3-maxminddb \
py3-mysqlclient \
py3-packaging \
py3-psycopg2 \
py3-redis \
py3-requests \
py3-service_identity \
py3-setuptools \
py3-pip \
py3-twisted \
py3-wheel \
python3 \
python3-dev && \
mkdir -p /opt && \
cd /opt/ && \
git clone https://gitlab.com/bontchev/elasticpot.git/ && \
cd elasticpot && \
git checkout d12649730d819bd78ea622361b6c65120173ad45 && \
cp /root/dist/requirements.txt .
WORKDIR /opt/elasticpot
RUN pip3 install --break-system-packages pyinstaller
RUN pip3 install --break-system-packages -r requirements.txt
RUN pyinstaller elasticpot.py \
--hidden-import output_plugins \
--hidden-import output_plugins.jsonlog
#
FROM alpine:3.20
RUN apk --no-cache -U upgrade
COPY --from=builder /opt/elasticpot/dist/ /opt/
COPY --from=builder /opt/elasticpot/responses/ /opt/elasticpot/responses/
COPY --from=builder /root/dist/honeypot.cfg /opt/elasticpot/etc/
#
# Start elasticpot
STOPSIGNAL SIGINT
USER 2000:2000
WORKDIR /opt/elasticpot/
CMD ["./elasticpot"]