76 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM debian:buster-slim
 | |
| 
 | |
| # 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/freq'
 | |
| LABEL org.opencontainers.image.description='Malcolm container providing an interface to Mark Baggett''s freq_server.py'
 | |
| 
 | |
| ARG DEFAULT_UID=1000
 | |
| ARG DEFAULT_GID=1000
 | |
| ENV DEFAULT_UID $DEFAULT_UID
 | |
| ENV DEFAULT_GID $DEFAULT_GID
 | |
| ENV PUSER "freq"
 | |
| ENV PGROUP "freq"
 | |
| ENV PUSER_PRIV_DROP true
 | |
| 
 | |
| ENV DEBIAN_FRONTEND noninteractive
 | |
| ENV TERM xterm
 | |
| 
 | |
| ARG FREQ_PORT=10004
 | |
| ARG FREQ_LOOKUP=true
 | |
| 
 | |
| ENV FREQ_PORT   $FREQ_PORT
 | |
| ENV FREQ_LOOKUP $FREQ_LOOKUP
 | |
| 
 | |
| ENV FREQ_URL "https://codeload.github.com/markbaggett/freq/tar.gz/master"
 | |
| 
 | |
| RUN sed -i "s/buster main/buster main contrib non-free/g" /etc/apt/sources.list && \
 | |
|     apt-get update && \
 | |
|     apt-get  -y -q install \
 | |
|       curl \
 | |
|       procps \
 | |
|       psmisc \
 | |
|       python3 \
 | |
|       python3-dev \
 | |
|       python3-pip && \
 | |
|     pip3 install supervisor && \
 | |
|     cd /opt && \
 | |
|     mkdir -p ./freq_server && \
 | |
|       curl -sSL "$FREQ_URL" | tar xzvf - -C ./freq_server --strip-components 1 && \
 | |
|       rm -rf /opt/freq_server/systemd /opt/freq_server/upstart /opt/freq_server/*.md /opt/freq_server/*.exe && \
 | |
|       mv -v "$(ls /opt/freq_server/*.freq | tail -n 1)" /opt/freq_server/freq_table.freq && \
 | |
|     groupadd --gid ${DEFAULT_GID} ${PGROUP} && \
 | |
|       useradd -M --uid ${DEFAULT_UID} --gid ${DEFAULT_GID} --home /nonexistant ${PUSER} && \
 | |
|       chown -R ${PUSER}:${PGROUP} /opt/freq_server && \
 | |
|       usermod -a -G tty ${PUSER} && \
 | |
|     apt-get -y -q --allow-downgrades --allow-remove-essential --allow-change-held-packages --purge remove git python3-dev build-essential && \
 | |
|       apt-get -y -q --allow-downgrades --allow-remove-essential --allow-change-held-packages autoremove && \
 | |
|       apt-get clean && \
 | |
|       rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
 | |
| 
 | |
| ADD shared/bin/docker-uid-gid-setup.sh /usr/local/bin/
 | |
| ADD freq-server/supervisord.conf /etc/supervisord.conf
 | |
| 
 | |
| WORKDIR /opt/freq_server
 | |
| 
 | |
| EXPOSE $FREQ_PORT
 | |
| 
 | |
| ENTRYPOINT ["/usr/local/bin/docker-uid-gid-setup.sh"]
 | |
| 
 | |
| CMD ["/usr/local/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
 |