tpotce/docker/deprecated/cyberchef/Dockerfile
t3chn0m4g3 72289e07d6 tweaking for nginx, cyberchef, elasticvue
create builder for cyberchef and elasticvue based on respective masters
builders will build webapps and copy output to nginx html folder as tgz
some tweaking for elasticvue to properly load original favicon
with cyberchef now run as nginx webapp we gain another 40MB of RAM
while webapps will be built on AMD64 all final docker images can now be built as multi arch images for AMD64 and ARM64
2022-01-30 00:48:10 +00:00

34 lines
762 B
Docker

FROM node:10.24.1-alpine3.11 as builder
#
# Install CyberChef
RUN apk -U --no-cache add git
RUN chown -R node:node /srv
RUN npm install -g grunt-cli
WORKDIR /srv
USER node
RUN git clone https://github.com/gchq/cyberchef -b v9.32.3 .
ENV NODE_OPTIONS=--max_old_space_size=2048
RUN npm install
RUN grunt prod
#
# Move from builder
FROM alpine:3.15
#
RUN apk -U --no-cache add \
curl \
npm && \
npm install -g http-server && \
#
# Clean up
rm -rf /root/* && \
rm -rf /var/cache/apk/*
#
COPY --from=builder /srv/build/prod /opt/cyberchef
#
# Healthcheck
HEALTHCHECK --retries=10 CMD curl -s -XGET 'http://127.0.0.1:8000'
#
# Set user, workdir and start cyberchef
USER nobody:nobody
WORKDIR /opt/cyberchef
CMD ["http-server", "-p", "8000"]