From 6b5180075ed5c2063fa868e1137c6fa81c92bc91 Mon Sep 17 00:00:00 2001 From: Robert Martin-Legene <robert@nic.ar> Date: Fri, 27 Sep 2019 19:41:18 -0300 Subject: [PATCH] Mejorando start.sh --- Dockerfile | 3 +-- start.sh | 38 ++++++++++++++++++++++++++++++++++---- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index d778d2c..91b1946 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,13 +8,12 @@ EXPOSE 8545 8546 30303 ENV USERNAME=bfa HOME=/home/bfa ENV BFAHOME=${HOME}/bfa BFANETWORKIDPROD=47525974938 BFANETWORKIDTEST=55555000000 VIRTUALIZATION=DOCKER ENV BFANETWORKDIRPROD=${BFAHOME}/network BFANETWORKDIRTEST=${BFAHOME}/test2network PATH=${BFAHOME}/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -RUN adduser -u 30303 -s /bin/bash -h ${HOME} -D ${USERNAME} ${USERNAME} && apk add --no-cache git bash jq perl perl-class-accessor perl-json perl-json-xs perl-lwp-protocol-https nodejs npm binutils python3 && rm -f /var/cache/apk/* +RUN adduser -u 30303 -s /bin/bash -h ${HOME} -D ${USERNAME} ${USERNAME} && apk add --no-cache git bash jq perl perl-class-accessor perl-json perl-json-xs perl-lwp-protocol-https nodejs npm binutils python3 curl && rm -f /var/cache/apk/* USER ${USERNAME} WORKDIR ${HOME} RUN git clone --quiet https://gitlab.bfa.ar/blockchain/nucleo.git ${BFAHOME} && cd ${BFAHOME} && npm install --no-optional && npm audit fix ENV BFANETWORKID=${BFANETWORKIDPROD} BFANETWORKDIR=${BFANETWORKDIRPROD} ENV BFANODEDIR=${BFANETWORKDIR}/node BFATOML=${BFANETWORKDIR}/config.toml RUN mkdir -p ${BFANODEDIR} && ln -s ${BFANODEDIR} .ethereum -RUN sed -i 's/^HTTPHost = "127.0.0.1"/HTTPHost = "0.0.0.0"/' ${BFATOML} WORKDIR ${BFAHOME} VOLUME [ "/home/bfa" ] diff --git a/start.sh b/start.sh index 2f845c4..447a486 100755 --- a/start.sh +++ b/start.sh @@ -8,8 +8,38 @@ then exit 1 fi -mkdir -p ${HOME}/dockers/volumes/bfanodo,home,bfa,bfa,network,node,geth -mounts="-v ${HOME}/dockers/volumes/bfanodo,home,bfa,bfa,network,node,geth:/home/bfa/bfa/network/node/geth" +if [ "$1" = "test" ] +then + tag="test" + class="test" + name="bfatestnode" +else + tag="latest" + class="prod" + name="bfanodo" +fi + +vd="${HOME}/dockers/volumes/${name},home,bfa,bfa,network,node,geth" +mkdir -p "${vd}" +mounts="-v ${vd}:/home/bfa/bfa/network/node/geth" + +if [ "$UID" = "0" ] +then + chown -R 30303:30303 ${vd} +else + # This is a bit slower, but works + docker run --rm $mounts -u root alpine chown -R 30303:30303 /home/bfa/bfa/network +fi -docker run --rm $mounts -u root alpine chown -R 30303:30303 /home/bfa/bfa/network -docker run -d --memory 4g $mounts -p 8545:8545 -p 127.0.0.1:8546:8546 -p 30303:30303 --restart=unless-stopped --name bfanodo rlegene/bfanode +# Run this just a single time. +# Docker itself makes sure it autostarts if it crashes or the server reboots. +docker run \ + --detach \ + --restart=unless-stopped \ + --memory 4g \ + $mounts \ + -p 8545:8545 \ + -p 8546:8546 \ + -p 30303:30303 \ + --name ${name} \ + rlegene/bfanode:${tag} -- GitLab