81 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM alpine:3.14
 | |
| 
 | |
| # Copyright (c) 2021 Battelle Energy Alliance, LLC.  All rights reserved.
 | |
| LABEL maintainer="malcolm.netsec@gmail.com"
 | |
| LABEL org.opencontainers.image.authors='malcolm.netsec@gmail.com'
 | |
| LABEL org.opencontainers.image.url='https://github.com/cisagov/Malcolm'
 | |
| LABEL org.opencontainers.image.documentation='https://github.com/cisagov/Malcolm/blob/master/README.md'
 | |
| LABEL org.opencontainers.image.source='https://github.com/cisagov/Malcolm'
 | |
| LABEL org.opencontainers.image.vendor='Cybersecurity and Infrastructure Security Agency'
 | |
| LABEL org.opencontainers.image.title='malcolmnetsec/name-map-ui'
 | |
| LABEL org.opencontainers.image.description='Malcolm container providing a user interface for mapping names to network hosts and subnets'
 | |
| 
 | |
| ARG DEFAULT_UID=1000
 | |
| ARG DEFAULT_GID=1000
 | |
| ENV DEFAULT_UID $DEFAULT_UID
 | |
| ENV DEFAULT_GID $DEFAULT_GID
 | |
| ENV PUSER "nginxsrv"
 | |
| ENV PGROUP "nginxsrv"
 | |
| ENV PUSER_PRIV_DROP true
 | |
| ENV PUSER_CHOWN "/var/www/html;/var/lib/nginx;/var/log/nginx"
 | |
| 
 | |
| ENV TERM xterm
 | |
| 
 | |
| ENV JQUERY_VERSION 1.6.4
 | |
| ENV LISTJS_VERSION v1.5.0
 | |
| 
 | |
| RUN apk --no-cache add bash php7 php7-fpm php7-mysqli php7-json php7-openssl php7-curl php7-fileinfo \
 | |
|     php7-zlib php7-xml php7-phar php7-intl php7-dom php7-xmlreader php7-ctype php7-session \
 | |
|     php7-mbstring php7-gd nginx supervisor curl inotify-tools file psmisc shadow
 | |
| 
 | |
| COPY name-map-ui/config/nginx.conf /etc/nginx/nginx.conf
 | |
| COPY name-map-ui/config/fpm-pool.conf /etc/php7/php-fpm.d/www.conf
 | |
| COPY name-map-ui/config/php.ini /etc/php7/conf.d/custom.ini
 | |
| COPY name-map-ui/config/supervisord.conf /etc/supervisord.conf
 | |
| COPY name-map-ui/config/supervisor_logstash_ctl.conf /etc/supervisor/logstash/supervisord.conf
 | |
| COPY name-map-ui/scripts/*.sh /usr/local/bin/
 | |
| 
 | |
| RUN curl -sSL -o /tmp/jquery.min.js "https://code.jquery.com/jquery-${JQUERY_VERSION}.min.js" && \
 | |
|       curl -sSL -o /tmp/list.min.js "https://raw.githubusercontent.com/javve/list.js/${LISTJS_VERSION}/dist/list.min.js" && \
 | |
|     rm -rf /etc/nginx/conf.d/default.conf /var/www/html/* && \
 | |
|     mkdir -p /var/www/html/upload /var/www/html/maps && \
 | |
|     cd /var/www/html && \
 | |
|     mv /tmp/jquery.min.js /tmp/list.min.js ./ && \
 | |
|     chmod 644 ./jquery.min.js ./list.min.js && \
 | |
|     ln -s . name-map-ui && \
 | |
|     addgroup -g ${DEFAULT_GID} ${PGROUP} ; \
 | |
|     adduser -D -H -u ${DEFAULT_UID} -h /var/www/html -s /sbin/nologin -G ${PGROUP} -g ${PUSER} ${PUSER} ; \
 | |
|     addgroup ${PUSER} nginx ; \
 | |
|     addgroup ${PUSER} shadow ; \
 | |
|     addgroup ${PUSER} tty ; \
 | |
|     addgroup nginx tty ; \
 | |
|     chown -R ${PUSER}:${PGROUP} /var/www/html && \
 | |
|     chown -R ${PUSER}:${PGROUP} /var/lib/nginx && \
 | |
|     chown -R ${PUSER}:${PGROUP} /var/log/nginx && \
 | |
|     chmod 755 /usr/local/bin/*.sh
 | |
| 
 | |
| VOLUME /var/www/html
 | |
| 
 | |
| WORKDIR /var/www/html
 | |
| 
 | |
| ADD shared/bin/docker-uid-gid-setup.sh /usr/local/bin/
 | |
| COPY name-map-ui/site/ /var/www/html/
 | |
| COPY docs/images/logo/Malcolm_banner.png /var/www/html/
 | |
| COPY docs/images/favicon/favicon.ico /var/www/html/
 | |
| 
 | |
| EXPOSE 8080
 | |
| 
 | |
| ENTRYPOINT ["/usr/local/bin/docker-uid-gid-setup.sh"]
 | |
| 
 | |
| CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf", "-n"]
 | |
| 
 | |
| 
 | |
| # to be populated at build-time:
 | |
| ARG BUILD_DATE
 | |
| ARG MALCOLM_VERSION
 | |
| ARG VCS_REVISION
 | |
| 
 | |
| LABEL org.opencontainers.image.created=$BUILD_DATE
 | |
| LABEL org.opencontainers.image.version=$MALCOLM_VERSION
 | |
| LABEL org.opencontainers.image.revision=$VCS_REVISION
 |