FROM alpine:3.7
MAINTAINER Disassembler <disassembler@dasm.cz>

RUN apk --no-cache add python2

RUN apk --no-cache add --virtual .deps git build-base paxctl py2-pip \
 && apk --no-cache add nodejs git openjdk8-jre-base \
 && paxctl -cm /usr/bin/node \
 && git clone --depth 1 https://github.com/AmericanRedCross/OpenMapKitServer /srv/openmapkit \
 && cd /srv/openmapkit \
 && git submodule update --init \
 && pip install -r requirements.txt \
 && npm install -g yarn \
 && npm install libxmljs \
 && yarn \
 && addgroup -S -g 8007 omk \
 && adduser -S -u 8007 -h /srv/openmapkit -s /bin/false -g omk -G omk omk \
 && 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"]
