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
|