2017-12-12 13:29:33 +01:00
|
|
|
FROM alpine:3.7
|
|
|
|
MAINTAINER Disassembler <disassembler@dasm.cz>
|
|
|
|
|
2017-12-21 10:39:35 +01:00
|
|
|
RUN \
|
|
|
|
# Install Python2 runtime
|
|
|
|
apk --no-cache add python2
|
2017-12-12 13:29:33 +01:00
|
|
|
|
2017-12-21 10:39:35 +01:00
|
|
|
RUN \
|
|
|
|
# Install runtime dependencies
|
2017-12-21 13:22:11 +01:00
|
|
|
apk --no-cache add nodejs openjdk8-jre-base \
|
2017-12-21 10:39:35 +01:00
|
|
|
# Install build dependencies
|
|
|
|
&& apk --no-cache add --virtual .deps git build-base paxctl py2-pip \
|
|
|
|
# Fix grsec attributes to loosen memory protection restrictions
|
2017-12-19 20:27:51 +01:00
|
|
|
&& paxctl -cm /usr/bin/node \
|
2017-12-21 10:39:35 +01:00
|
|
|
# Clone OpenMapKit
|
2017-12-13 17:16:08 +01:00
|
|
|
&& git clone --depth 1 https://github.com/AmericanRedCross/OpenMapKitServer /srv/openmapkit \
|
|
|
|
&& cd /srv/openmapkit \
|
2017-12-12 13:29:33 +01:00
|
|
|
&& git submodule update --init \
|
2017-12-21 10:39:35 +01:00
|
|
|
# Install OpenMapKit dependencies
|
2017-12-12 13:29:33 +01:00
|
|
|
&& pip install -r requirements.txt \
|
|
|
|
&& npm install -g yarn \
|
|
|
|
&& npm install libxmljs \
|
|
|
|
&& yarn \
|
2017-12-21 10:39:35 +01:00
|
|
|
# Create OS user
|
2017-12-13 17:16:08 +01:00
|
|
|
&& addgroup -S -g 8007 omk \
|
|
|
|
&& adduser -S -u 8007 -h /srv/openmapkit -s /bin/false -g omk -G omk omk \
|
2017-12-21 10:39:35 +01:00
|
|
|
# Cleanup
|
2017-12-16 20:40:06 +01:00
|
|
|
&& apk --no-cache del .deps \
|
2017-12-13 17:16:08 +01:00
|
|
|
&& rm -rf /srv/openmapkit/.git* /srv/openmapkit/api/odk/pyxform/.git* \
|
2017-12-20 11:07:40 +01:00
|
|
|
&& rm -rf /root \
|
|
|
|
&& mkdir /root
|
2017-12-12 13:29:33 +01:00
|
|
|
|
2017-12-13 17:16:08 +01:00
|
|
|
VOLUME ["/srv/openmapkit/data"]
|
|
|
|
EXPOSE 8007
|
2017-12-12 13:29:33 +01:00
|
|
|
|
|
|
|
USER omk
|
|
|
|
ENV NODE_ENV production
|
2017-12-13 17:16:08 +01:00
|
|
|
CMD ["node", "/srv/openmapkit/server.js"]
|