FROM alpine:3.15 # # Include dist COPY dist/ /root/dist/ # # Get and install dependencies & packages RUN apk -U --no-cache add \ build-base \ curl \ git \ jpeg-dev \ libffi-dev \ libxml2 \ libxml2-dev \ libxslt \ libxslt-dev \ musl \ musl-dev \ openjpeg-dev \ openssl \ openssl-dev \ python3 \ python3-dev \ py3-cryptography \ py3-ipaddr \ py3-beautifulsoup4 \ py3-dnspython \ py3-exifread \ py3-future \ py3-jaraco.classes \ py3-jaraco.context \ py3-jaraco.functools \ py3-lxml \ py3-mako \ py3-more-itertools \ py3-netaddr \ py3-networkx \ py3-openssl \ py3-pillow \ py3-portend \ py3-pypdf2 \ py3-phonenumbers \ py3-pip \ py3-pysocks \ py3-requests \ py3-tempora \ py3-wheel \ py3-xlsxwriter \ swig \ tinyxml \ tinyxml-dev \ zlib-dev && \ # # Setup user addgroup -g 2000 spiderfoot && \ adduser -S -s /bin/ash -u 2000 -D -g 2000 spiderfoot && \ # # Install spiderfoot git clone --depth=1 -b v3.5 https://github.com/smicallef/spiderfoot /home/spiderfoot && \ cd /home/spiderfoot && \ pip3 install --upgrade pip && \ cp /root/dist/requirements.txt . && \ pip3 install --no-cache-dir -r requirements.txt && \ mkdir -p /home/spiderfoot/.spiderfoot/logs && \ chown -R spiderfoot:spiderfoot /home/spiderfoot && \ sed -i "s#'root': '\/'#'root': '\/spiderfoot'#" /home/spiderfoot/sf.py && \ sed -i "s#'root', '\/'#'root', '\/spiderfoot'#" /home/spiderfoot/sf.py && \ # # Clean up apk del --purge build-base \ gcc \ git \ libffi-dev \ libxml2-dev \ libxslt-dev \ musl-dev \ openssl-dev \ python3-dev \ swig \ tinyxml-dev && \ rm -rf /var/cache/apk/* /home/spiderfoot/.git # # Healthcheck HEALTHCHECK --retries=10 CMD curl -s -XGET 'http://127.0.0.1:8080/spiderfoot/' # # Set user, workdir and start spiderfoot USER spiderfoot:spiderfoot WORKDIR /home/spiderfoot CMD echo -n >> /home/spiderfoot/.spiderfoot/spiderfoot.db && exec /usr/bin/python3.9 sf.py -l 0.0.0.0:8080