Skip to content
Snippets Groups Projects
start.sh 1.09 KiB
Newer Older
Robert Martin-Legene's avatar
Robert Martin-Legene committed
#!/bin/bash

trap 'exit 1' ERR

if ! which docker > /dev/null 2>&1
then
Robert Martin-Legene's avatar
Robert Martin-Legene committed
    echo 'Can not find Docker. Make sure it is installed.' >&2
Robert Martin-Legene's avatar
Robert Martin-Legene committed
    exit 1
fi

if [ "$1" = "test" ]
then
    tag="test"
    class="test"
    name="bfanodotest"
    netdir="test2network"
else
    tag="latest"
    class="prod"
    name="bfanodo"
    netdir="network"
vd="${HOME}/dockers/volumes/${name},home,bfa,bfa,${netdir},node,geth"
mkdir -p "${vd}"
mounts="-v ${vd}:/home/bfa/bfa/${netdir}/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/${netdir}
Robert Martin-Legene's avatar
Robert Martin-Legene committed

# 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}