FROM alpine:3.7 MAINTAINER Disassembler RUN \ # Install Python2 runtime apk --no-cache add python2 RUN \ # Install runtime dependencies apk --no-cache add nodejs openjdk8-jre-base \ # Install build dependencies && apk --no-cache add --virtual .deps git build-base paxctl py2-pip \ # Fix grsec attributes to loosen memory protection restrictions && paxctl -cm /usr/bin/node \ # Clone OpenMapKit && git clone --depth 1 https://github.com/AmericanRedCross/OpenMapKitServer /srv/openmapkit \ && cd /srv/openmapkit \ && git submodule update --init \ # Install OpenMapKit dependencies && pip install -r requirements.txt \ && npm install -g yarn \ && npm install libxmljs \ && yarn \ # Create OS user && addgroup -S -g 8007 omk \ && adduser -S -u 8007 -h /srv/openmapkit -s /bin/false -g omk -G omk omk \ # Cleanup && apk --no-cache del .deps \ && rm -rf /srv/openmapkit/.git* /srv/openmapkit/api/odk/pyxform/.git* \ && rm -rf /root \ && mkdir /root VOLUME ["/srv/openmapkit/data"] EXPOSE 8007 USER omk ENV NODE_ENV production CMD ["node", "/srv/openmapkit/server.js"]