Spotter-VM/openmapkit/Dockerfile

43 lines
1.2 KiB
Docker
Raw Normal View History

FROM java
2017-12-12 13:29:33 +01:00
MAINTAINER Disassembler <disassembler@dasm.cz>
2018-01-08 21:04:35 +01:00
RUN \
# Install NodeJS runtime
apk --no-cache add nodejs paxctl \
# Fix grsec attributes to loosen memory protection restrictions
&& paxctl -cm /usr/bin/node \
# Cleanup
&& apk --no-cache del paxctl
2018-01-08 21:04:35 +01:00
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 build dependencies
2018-03-26 19:53:54 +02:00
apk --no-cache add --virtual .deps build-base git py2-pip \
2017-12-21 10:39:35 +01:00
# Clone OpenMapKit
2018-04-21 23:10:55 +02:00
&& git clone --depth 1 https://github.com/posm/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 libxmljs \
2018-03-26 19:53:54 +02:00
&& npm install \
2017-12-21 10:39:35 +01:00
# Create OS user
&& addgroup -S -g 8007 omk \
2018-04-21 23:10:55 +02:00
&& adduser -S -u 8007 -h /srv/openmapkit -s /bin/false -g omk -G omk omk \
&& chown -R omk:omk /srv/openmapkit \
2017-12-21 10:39:35 +01:00
# Cleanup
&& apk --no-cache del .deps \
2018-04-21 23:10:55 +02:00
&& find /srv/openmapkit -name '.git*' -exec rm -rf {} + \
&& rm -rf /usr/local/share/.cache \
&& rm -rf /root/.cache /root/.config /root/.node-gyp /root/.npm
2017-12-12 13:29:33 +01:00
2018-04-21 23:10:55 +02:00
VOLUME ["/srv/openmapkit/data"]
EXPOSE 8080
2017-12-12 13:29:33 +01:00
USER omk
ENV NODE_ENV production
2018-04-21 23:10:55 +02:00
CMD ["node", "/srv/openmapkit/server.js"]