2018-09-27 11:30:07 +02:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2018-11-29 12:32:38 +01:00
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
|
|
|
|
COMPOSE_DIR="${DIR}/compose-files"
|
2018-09-27 11:30:07 +02:00
|
|
|
# Must be set to true for the first run, change it to "false" to avoid migrating the smart contracts on each run.
|
2018-11-30 02:27:10 +01:00
|
|
|
export DEPLOY_CONTRACTS="false"
|
2018-09-27 11:30:07 +02:00
|
|
|
# Ganache specific option, these two options have no effect when not running ganache-cli
|
2018-11-29 12:32:38 +01:00
|
|
|
export GANACHE_DATABASE_PATH="${DIR}"
|
2018-09-27 13:15:43 +02:00
|
|
|
export REUSE_DATABASE="false"
|
2018-09-27 11:30:07 +02:00
|
|
|
# Specify which ethereum client to run or connect to: kovan, ganache, or ocean_poa_net_local
|
|
|
|
export KEEPER_NETWORK_NAME="ganache"
|
2018-11-29 12:32:38 +01:00
|
|
|
export ARTIFACTS_FOLDER=$HOME/.ocean/keeper-contracts/artifacts
|
2018-11-30 10:31:38 +01:00
|
|
|
export BRIZO_ENV_FILE=$DIR/brizo.env
|
2018-11-30 10:36:55 +01:00
|
|
|
# Specify the ethereum default RPC container provider
|
|
|
|
RPC_URL='keeper-contracts'
|
2018-09-27 11:30:07 +02:00
|
|
|
|
2018-10-10 12:21:56 +02:00
|
|
|
# colors
|
|
|
|
COLOR_R="\033[0;31m" # red
|
|
|
|
COLOR_G="\033[0;32m" # green
|
|
|
|
COLOR_Y="\033[0;33m" # yellow
|
|
|
|
COLOR_B="\033[0;34m" # blue
|
|
|
|
COLOR_M="\033[0;35m" # magenta
|
|
|
|
COLOR_C="\033[0;36m" # cyan
|
2018-10-02 13:38:55 +02:00
|
|
|
|
2018-10-10 12:21:56 +02:00
|
|
|
# reset
|
|
|
|
COLOR_RESET="\033[00m"
|
2018-09-27 13:15:43 +02:00
|
|
|
|
2018-10-10 12:21:56 +02:00
|
|
|
function show_banner {
|
|
|
|
local output=$(cat .banner)
|
|
|
|
echo -e "$COLOR_B$output$COLOR_RESET"
|
|
|
|
echo ""
|
|
|
|
}
|
2018-09-27 13:15:43 +02:00
|
|
|
|
2018-10-10 12:21:56 +02:00
|
|
|
show_banner
|
2018-10-02 13:13:10 +02:00
|
|
|
|
2018-11-29 14:51:15 +01:00
|
|
|
# default to latest versions
|
|
|
|
export OCEAN_VERSION=latest
|
2018-11-29 12:32:38 +01:00
|
|
|
|
|
|
|
COMPOSE_FILES=""
|
|
|
|
COMPOSE_FILES+=" -f ${COMPOSE_DIR}/network_volumes.yml"
|
|
|
|
COMPOSE_FILES+=" -f ${COMPOSE_DIR}/mongo.yml"
|
|
|
|
COMPOSE_FILES+=" -f ${COMPOSE_DIR}/keeper_contracts.yml"
|
|
|
|
COMPOSE_FILES+=" -f ${COMPOSE_DIR}/pleuston.yml"
|
|
|
|
COMPOSE_FILES+=" -f ${COMPOSE_DIR}/aquarius.yml"
|
|
|
|
COMPOSE_FILES+=" -f ${COMPOSE_DIR}/brizo.yml"
|
2018-09-27 13:15:43 +02:00
|
|
|
|
2018-10-10 12:21:56 +02:00
|
|
|
while :; do
|
|
|
|
case $1 in
|
|
|
|
--latest)
|
|
|
|
export OCEAN_VERSION=latest
|
|
|
|
printf $COLOR_Y'Switched to latest components...\n\n'$COLOR_RESET
|
|
|
|
;;
|
2018-10-10 15:49:10 +02:00
|
|
|
--reuse-database)
|
2018-10-10 12:21:56 +02:00
|
|
|
export REUSE_DATABASE="true"
|
2018-10-11 14:33:30 +02:00
|
|
|
printf $COLOR_Y'Starting and reusing the database ...\n\n'$COLOR_RESET
|
2018-10-10 15:49:10 +02:00
|
|
|
;;
|
|
|
|
--no-pleuston)
|
2018-11-29 12:32:38 +01:00
|
|
|
COMPOSE_FILES=${COMPOSE_FILES/ -f ${COMPOSE_DIR}\/pleuston.yml/}
|
2018-10-10 12:21:56 +02:00
|
|
|
printf $COLOR_Y'Starting without Pleuston...\n\n'$COLOR_RESET
|
|
|
|
;;
|
|
|
|
--local-parity-node)
|
2018-11-29 12:32:38 +01:00
|
|
|
COMPOSE_FILES+=" -f ${COMPOSE_DIR}/parity_client.yml"
|
|
|
|
COMPOSE_FILES+=" -f ${COMPOSE_DIR}/secret_store.yml"
|
2018-11-30 10:36:55 +01:00
|
|
|
RPC_URL='parity-node'
|
2018-10-10 12:21:56 +02:00
|
|
|
export KEEPER_NETWORK_NAME="ocean_poa_net_local"
|
|
|
|
printf $COLOR_Y'Starting with local Parity node...\n\n'$COLOR_RESET
|
|
|
|
;;
|
|
|
|
--) # End of all options.
|
2018-11-29 12:32:38 +01:00
|
|
|
shift
|
|
|
|
break
|
|
|
|
;;
|
2018-10-10 12:21:56 +02:00
|
|
|
-?*)
|
2018-11-29 12:32:38 +01:00
|
|
|
printf $COLOR_R'WARN: Unknown option (ignored): %s\n'$COLOR_RESET "$1" >&2
|
|
|
|
break
|
|
|
|
;;
|
2018-10-10 12:21:56 +02:00
|
|
|
*)
|
|
|
|
printf $COLOR_Y'Starting Ocean...\n\n'$COLOR_RESET
|
2018-11-29 12:32:38 +01:00
|
|
|
docker-compose --project-name=ocean $COMPOSE_FILES up
|
2018-10-10 12:21:56 +02:00
|
|
|
break
|
|
|
|
esac
|
|
|
|
shift
|
|
|
|
done
|