docker image

This commit is contained in:
Lawrence 2018-01-13 00:13:32 -05:00
parent b1824c79c2
commit 099d1a1239
2 changed files with 57 additions and 0 deletions

26
docker/Dockerfile Normal file
View File

@ -0,0 +1,26 @@
FROM node:stretch
MAINTAINER Lawrence Stubbs <technoexpressnet@gmail.com>
COPY startmeshcentral.sh /
RUN apt-get update \
&& apt-get install -y p7zip-full \
&& wget -q http://www.7-zip.org/a/lzma1604.7z \
&& 7z x lzma1604.7z -olzma1604 \
&& cp lzma1604/bin/*.sfx /usr/lib/p7zip/ \
&& rm -f lzma1604.7z \
&& rm -rf lzma1604 \
&& npm install -g forever
RUN npm install greenlock-cli \
&& chmod +x /startmeshcentral.sh \
&& adduser --quiet meshcentral
RUN su - meshcentral \
&& npm install meshcentral node-7z
ENV PORT 443
ENV REDIRPORT 80
EXPOSE 80 443 25
ENTRYPOINT ["/startmeshcentral.sh"]

View File

@ -0,0 +1,31 @@
#!/bin/sh
export PORT
export REDIRPORT
if [ $1 != "" ] ; then
PORT=$1
fi
if [ $2 != "" ]; then
REDIRPORT=$2
fi
cd /home/meshcentral
npmbin=$(which node)
$npmbin install meshcentral
foreverbin=$(which forever)
$foreverbin start node_modules/meshcentral/meshcentral.js --cert $HOSTNAME
sleep 10
$foreverbin stop node_modules/meshcentral/meshcentral.js
if [ -f ssl.key ]; then
ln -sf ssl.key node_modules/.meshcentral-data/agentserver-cert-private.key
ln -sf ssl.cert node_modules/.meshcentral-data/agentserver-cert-public.crt
ln -sf ssl.key node_modules/.meshcentral-data/root-cert-private.key
ln -sf ssl.cert node_modules/.meshcentral-data/root-cert-public.crt
ln -sf ssl.key node_modules/.meshcentral-data/webserver-cert-private.key
ln -sf ssl.cert node_modules/.meshcentral-data/webserver-cert-public.crt
ln -sf ssl.key node_modules/.meshcentral-data/mpsserver-cert-private.key
ln -sf ssl.cert node_modules/.meshcentral-data/mpsserver-cert-public.crt
fi
$foreverbin start node_modules/meshcentral/meshcentral.js --port $PORT --redirport $REDIRPORT