mirror of
https://github.com/telekom-security/tpotce.git
synced 2025-04-28 19:28:50 +00:00
82 lines
3.5 KiB
Docker
82 lines
3.5 KiB
Docker
FROM alpine:3.13
|
|
#
|
|
# Include dist
|
|
ADD dist/ /root/dist/
|
|
#
|
|
# Get and install dependencies & packages
|
|
RUN apk -U --no-cache add \
|
|
git \
|
|
nginx \
|
|
nginx-mod-http-headers-more \
|
|
php7 \
|
|
php7-cgi \
|
|
php7-ctype \
|
|
php7-fileinfo \
|
|
php7-fpm \
|
|
php7-json \
|
|
php7-mbstring \
|
|
php7-openssl \
|
|
php7-pdo \
|
|
php7-pdo_pgsql \
|
|
php7-pdo_sqlite \
|
|
php7-session \
|
|
php7-sqlite3 \
|
|
php7-tokenizer \
|
|
php7-xml \
|
|
php7-zip && \
|
|
#
|
|
# Clone and setup Heimdall, Nginx
|
|
git clone https://github.com/linuxserver/heimdall && \
|
|
cd heimdall && \
|
|
git checkout 61a5a1a8b023771e0ff7c056add5537d20737e51 && \
|
|
cd .. && \
|
|
cp -R heimdall/. /var/lib/nginx/html && \
|
|
rm -rf heimdall && \
|
|
cd /var/lib/nginx/html && \
|
|
cp .env.example .env && \
|
|
# Fix error for ArrayInput in smyfony with regard to PHP7.4 (https://github.com/symfony/symfony/pull/32806/files)
|
|
sed -i "135s/.*/} elseif (0 === strpos(\$key, '-')) {/" /var/lib/nginx/html/vendor/symfony/console/Input/ArrayInput.php && \
|
|
php7 artisan key:generate && \
|
|
#
|
|
## Add previously configured content
|
|
mkdir -p /var/lib/nginx/html/storage/app/public/backgrounds/ && \
|
|
cp /root/dist/app/bg1.jpg /var/lib/nginx/html/public/img/bg1.jpg && \
|
|
cp /root/dist/app/t-pot.png /var/lib/nginx/html/public/img/heimdall-icon-small.png && \
|
|
cp /root/dist/app/app.sqlite /var/lib/nginx/html/database/app.sqlite && \
|
|
cp /root/dist/app/cyberchef.png /var/lib/nginx/html/storage/app/public/icons/ZotKKZA2QKplZhdoF3WLx4UdKKhLFamf3lSMcLkr.png && \
|
|
cp /root/dist/app/eshead.png /var/lib/nginx/html/storage/app/public/icons/77KqFv4YIshXUDLDoOvZ1NUbsKDtsMAjJvg4sYqN.png && \
|
|
cp /root/dist/app/tsec.png /var/lib/nginx/html/storage/app/public/icons/RHwXCfCeGNDdhYgzlShL9o4NBFL2LHZWajgyeL0a.png && \
|
|
cp /root/dist/app/spiderfoot.png /var/lib/nginx/html/storage/app/public/icons/s7uPe1frJqjv76oI6SNqNbWUsgU1GHYqRALMlwYb.png && \
|
|
cp /root/dist/html/*.html /var/lib/nginx/html/public/ && \
|
|
cp /root/dist/html/favicon.ico /var/lib/nginx/html/public/favicon-16x16.png && \
|
|
cp /root/dist/html/favicon.ico /var/lib/nginx/html/public/favicon-32x32.png && \
|
|
cp /root/dist/html/favicon.ico /var/lib/nginx/html/public/favicon-96x96.png && \
|
|
cp /root/dist/html/favicon.ico /var/lib/nginx/html/public/favicon.ico && \
|
|
#
|
|
## Change ownership, permissions
|
|
chown root:www-data -R /var/lib/nginx/html && \
|
|
chmod 775 -R /var/lib/nginx/html/storage && \
|
|
chmod 775 -R /var/lib/nginx/html/database && \
|
|
sed -i "s/user = nobody/user = nginx/g" /etc/php7/php-fpm.d/www.conf && \
|
|
sed -i "s/group = nobody/group = nginx/g" /etc/php7/php-fpm.d/www.conf && \
|
|
sed -i "s#;upload_tmp_dir =#upload_tmp_dir = /var/lib/nginx/tmp#g" /etc/php7/php.ini && \
|
|
sed -i "s/9000/64304/g" /etc/php7/php-fpm.d/www.conf && \
|
|
sed -i "s/APP_NAME=Heimdall/APP_NAME=T-Pot/g" /var/lib/nginx/html/.env && \
|
|
## Add Nginx / T-Pot specific configs
|
|
rm -rf /etc/nginx/conf.d/* /usr/share/nginx/html/* && \
|
|
cp /root/dist/conf/nginx.conf /etc/nginx/ && \
|
|
cp -R /root/dist/conf/ssl /etc/nginx/ && \
|
|
cp /root/dist/conf/tpotweb.conf /etc/nginx/conf.d/ && \
|
|
cp /root/dist/start.sh / && \
|
|
## Pack database for first time usage
|
|
cd /var/lib/nginx && \
|
|
tar cvfz first.tgz /var/lib/nginx/html/database /var/lib/nginx/html/storage && \
|
|
#
|
|
# Clean up
|
|
apk del --purge \
|
|
git && \
|
|
rm -rf /root/* && \
|
|
rm -rf /var/cache/apk/*
|
|
#
|
|
# Start nginx
|
|
CMD /start.sh && php-fpm7 && exec nginx -g 'daemon off;'
|