Bump version and image, fixes #10

* alpine 3.5 to 3.13

	* openssl upgrade, remove MimeInfo and SSL perl pkg hacks

	* mysql client library upgrades (compatibility with 8)

	* image size reduction 703 to 322 MB

	* bump upstream sources for viewer and parser

	* introduce tags (current and latest docker image 1.0, old image
          still available as 0.5)
This commit is contained in:
Robert Schumann
2021-07-04 13:30:09 +02:00
parent 96a344f70a
commit c74bc90d20
6 changed files with 42 additions and 24 deletions

View File

@@ -1,25 +1,36 @@
FROM boxedcode/alpine-nginx-php-fpm:v1.7.2
FROM trafex/alpine-nginx-php7:2.0.2
MAINTAINER Robert Schumann <gutmensch@n-os.org>
LABEL maintainer="Robert Schumann <gutmensch@n-os.org>"
ENV REPORT_PARSER_SOURCE="https://github.com/techsneeze/dmarcts-report-parser/archive/master.zip" \
REPORT_VIEWER_SOURCE="https://github.com/techsneeze/dmarcts-report-viewer/archive/master.zip"
USER root
WORKDIR /
COPY ./manifest/ /
RUN set -x \
&& apk update \
&& apk add expat-dev mariadb-dev gzip \
&& wget -q --no-check-certificate -O parser.zip $REPORT_PARSER_SOURCE \
&& wget -q --no-check-certificate -O viewer.zip $REPORT_VIEWER_SOURCE \
&& unzip parser.zip && cp -av dmarcts-report-parser-master/* /usr/bin/ && rm -f parser.zip \
&& unzip viewer.zip && cp -av dmarcts-report-viewer-master/* /var/www/viewer/ && rm -f viewer.zip \
&& apk add bash expat-dev mariadb-dev mariadb-client mariadb-connector-c openssl gzip wget perl-utils g++ make perl-dev \
&& wget -4 -q --no-check-certificate -O parser.zip $REPORT_PARSER_SOURCE \
&& wget -4 -q --no-check-certificate -O viewer.zip $REPORT_VIEWER_SOURCE \
&& unzip parser.zip && cp -av dmarcts-report-parser-master/* /usr/bin/ && rm -vf parser.zip && rm -rvf dmarcts-report-parser-master \
&& unzip viewer.zip && cp -av dmarcts-report-viewer-master/* /var/www/viewer/ && rm -vf viewer.zip && rm -rvf dmarcts-report-viewer-master \
&& sed -i "1s/^/body { font-family: Sans-Serif; }\n/" /var/www/viewer/default.css \
&& sed -i 's%.*listen [::]:8080 default_server;% listen [::]:80 default_server;%g' /etc/nginx/nginx.conf \
&& sed -i 's%.*listen 8080 default_server;% listen 80 default_server;%g' /etc/nginx/nginx.conf \
&& sed -i 's%.*root /var/www/html;% root /var/www/viewer;%g' /etc/nginx/nginx.conf \
&& sed -i 's/.*index index.php index.html;/ index dmarcts-report-viewer.php;/g' /etc/nginx/nginx.conf \
&& sed -i 's%files = /etc/supervisor.d/\*.ini%files = /etc/supervisor/conf.d/*.conf%g' /etc/supervisord.conf \
&& chmod 755 /entrypoint.sh \
&& (echo y;echo o conf prerequisites_policy follow;echo o conf commit)|cpan \
&& cpan install SULLR/IO-Socket-SSL-2.060.tar.gz \
&& cpan install MICHIELB/File-MimeInfo-0.28.tar.gz \
&& for i in \
CPAN \
CPAN::DistnameInfo \
IO::Socket::SSL \
File::MimeInfo \
IO::Compress::Gzip \
Getopt::Long \
Mail::IMAPClient \
@@ -36,12 +47,10 @@ RUN set -x \
Socket6 \
PerlIO::gzip \
; do cpan install $i; done \
&& apk del mariadb-dev expat-dev \
&& apk add mariadb-client-libs \
&& sed -i 's%.*root /var/www/html;% root /var/www/viewer;%g' /etc/nginx/conf.d/default.conf \
&& sed -i 's/.*index index.php index.html index.htm;/ index dmarcts-report-viewer.php;/g' /etc/nginx/conf.d/default.conf \
&& chmod 755 /entrypoint.sh
&& apk del mariadb-dev expat-dev perl-dev g++ make
EXPOSE 443 80
HEALTHCHECK --interval=1m --timeout=3s CMD curl --silent --fail http://127.0.0.1:80/fpm-ping
EXPOSE 80
CMD ["/bin/bash", "/entrypoint.sh"]