Newer
Older
#!/bin/bash
trap 'exit 1' ERR
if ! which docker > /dev/null 2>&1
then
echo 'Can not find Docker. Make sure it is installed.' >&2
if [ "$1" = "test" ]
then
tag="test"
class="test"
elif [ "$1" = "latest" ]
then
else
echo Argument 1 must be either latest or test. >&2
exit 1
mounts=
for guestdir in /home/bfa/bfa/${netdir}/node /home/bfa/bfa/${netdir}/cache
do
# docker dirs
d_dirs="${d_dirs} ${guestdir}"
# guestdirs
g_dir=${guestdir//\//,}
g_dirs="${g_dirs} ${g_dir}"
# hostdirs
h_dir=/home/dockers/volumes/${name}${guestdir//\//,}
h_dirs="${h_dirs} ${h_dir}"
mkdir -p ${h_dir}
mounts="${mounts} -v ${h_dir}:${guestdir}"
done
chown -R 30303:30303 ${h_dirs}
docker run --rm $mounts -u root alpine chown -R 30303:30303 ${d_dirs}
# 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} \
bfaar/nodo:${tag}