Skip to content
This repository was archived by the owner on Feb 26, 2021. It is now read-only.
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 36 additions & 8 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,20 +1,47 @@
FROM node:10-alpine
FROM alpine:3.10 AS buildcontainer

RUN apk update && apk upgrade && apk add nmap nmap-scripts
ARG NMAP_SHA256SUM="fcfa5a0e42099e12e4bf7a68ebe6fde05553383a682e816a7ec9256ab4773faa"
ARG NMAP_VERSION=7.80

COPY package.json package-lock.json /src/
WORKDIR /nmap

WORKDIR /src
ENV NMAP_PACKAGE="nmap-${NMAP_VERSION}.tar.bz2"
ENV NMAP_URI="https://nmap.org/dist/${NMAP_PACKAGE}"

RUN ls
RUN echo "Installing Nmap ${NMAP_VERSION}" && \
apk update && \
apk upgrade && \
apk add build-base && \
apk add flex && \
apk add libcap-dev && \
apk add openssl-dev && \
apk add libssh2-dev && \
apk add bison && \
apk add curl
RUN curl -fsSLO ${NMAP_URI}
RUN echo "${NMAP_SHA256SUM} ${NMAP_PACKAGE}" | sha256sum -c -
RUN bzip2 -cd "${NMAP_PACKAGE}" | tar xvf -
WORKDIR /nmap/nmap-${NMAP_VERSION}
RUN ./configure && \
make -s -j "$(nproc)" && \
make -s install

RUN npm install --production
FROM node:12-alpine

COPY package.json package-lock.json /src/
RUN npm install --production
COPY --from=buildcontainer /usr/local/ /usr/local
COPY . /src

HEALTHCHECK --interval=30s --timeout=5s --start-period=120s --retries=3 CMD node healthcheck.js || exit 1
WORKDIR /src

RUN apk update && \
apk upgrade --no-cache && \
apk add libssh2 --no-cache
RUN addgroup -S nmap_group && \
adduser -S -g nmap_group nmap_user

RUN addgroup -S nmap_group && adduser -S -g nmap_group nmap_user
HEALTHCHECK --interval=30s --timeout=5s --start-period=120s --retries=3 CMD node healthcheck.js || exit 1

USER nmap_user

Expand Down Expand Up @@ -45,3 +72,4 @@ LABEL org.opencontainers.image.title="secureCodeBox scanner-infrastructure-nmap"
org.opencontainers.image.created=$BUILD_DATE

ENTRYPOINT [ "npm", "start" ]