diff --git a/DOCKER/Dockerfile b/DOCKER/Dockerfile
index c9bae4ce0f209229e56945411e6c53fe1ebc0671..139fccb1131c90f5e19e79b18788f7aeffd7b936 100644
--- a/DOCKER/Dockerfile
+++ b/DOCKER/Dockerfile
@@ -34,9 +34,11 @@ WORKDIR $REPO
 RUN go build -o /usr/local/bin/erisdb ./cmd/erisdb && \
   go build -o /usr/local/bin/erisdbss ./cmd/erisdbss
 
-# install chain manager scripts
-COPY ./DOCKER/chain_* /usr/local/bin/
-ENV ECM_PATH /usr/local/bin
+# install chain manager scripts and default mint config
+ENV ECM_PATH /usr/local/lib/ecm/
+RUN mkdir -p $ECM_PATH
+COPY ./DOCKER/chain_* $ECM_PATH
+COPY ./DOCKER/config.toml  $ECM_PATH
 
 # set the repo and install mint-client
 ENV REPO github.com/eris-ltd/mint-client
@@ -62,4 +64,5 @@ RUN mkdir --parents /home/$USER/.eris/blockchains/tendermint
 ENV TMROOT /home/$USER/.eris/blockchains/tendermint
 
 # run tendermint
-ENTRYPOINT ["erisdb-wrapper"]
+# really should be entrypoint but broken in API 1.19
+CMD ["erisdb-wrapper"]
diff --git a/DOCKER/chain_install.sh b/DOCKER/chain_install.sh
index cd0878a7affa7052c7a09ed797d497e37fa9dc2c..d3048ccb97ec865f1feadcb24d4eec206c04b92e 100755
--- a/DOCKER/chain_install.sh
+++ b/DOCKER/chain_install.sh
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/bash
 
 #-----------------------------------------------------------------------
 # get genesis, seed, copy config
@@ -8,9 +8,11 @@ REFS_CHAIN_ID=$(mintinfo --node-addr $NODE_ADDR genesis chain_id)
 ifExit "Error fetching default chain id from $NODE_ADDR"
 REFS_CHAIN_ID=$(echo "$REFS_CHAIN_ID" | tr -d '"') # remove surrounding quotes
 
+echo "etcb chain: $REFS_CHAIN_ID"
+
 # get the genesis.json for a refs chain from the /genesis rpc endpoint
 # for a different chain, use etcb (ie namereg on the ref chain)
-if [ "$CHAIN_ID" = "$REF_CHAIN_ID"    ] ; then
+if [ "$CHAIN_ID" = "$REFS_CHAIN_ID" ] ; then
 	# grab genesis.json and config
 	mintinfo --node-addr $NODE_ADDR genesis > "${CHAIN_DIR}/genesis.json"
 	ifExit "Error fetching genesis.json from $NODE_ADDR"
diff --git a/DOCKER/chain_new.sh b/DOCKER/chain_new.sh
index 6babaf974a07bad1b27d72b446b8abcac46dfe8f..3efb66ea86bd712c7efe7771be92456121b323c7 100755
--- a/DOCKER/chain_new.sh
+++ b/DOCKER/chain_new.sh
@@ -1,14 +1,17 @@
-#! /bin/sh
+#! /bin/bash
 
 echo "new chain: $CHAIN_ID"
 
 if [ "$GENERATE_GENESIS" = "true" ]; then
 	mintgen --single $CHAIN_DIR
+	ifExit "Error creating genesis file"
 fi
 
 if [ "$RUN" = "true" ]; then
 	tendermint node	
+	ifExit "Error starting tendermint"
 else
 	# this will just run for a second and quit
 	tendermint node & last_pid=$! && sleep 1 && kill -KILL $last_pid
+	ifExit "Error starting tendermint"
 fi
diff --git a/DOCKER/chain_run.sh b/DOCKER/chain_run.sh
index 64fa3111cf1cd7a5afea399e4d6fcc19702cda1d..7734f65e6478117aa72d9bc91137a90fff9be196 100755
--- a/DOCKER/chain_run.sh
+++ b/DOCKER/chain_run.sh
@@ -1,19 +1,4 @@
-#! /bin/sh
-
-# if no CHAIN_ID, get that off the main test net
-if [[ ! $CHAIN_ID ]]; then
-	# get the chain id 
-	CHAIN_ID=$(mintinfo --node-addr $NODE_ADDR genesis chain_id)
-	ifExit "Error fetching default chain id from $NODE_ADDR"
-	CHAIN_ID=$(echo "$CHAIN_ID" | tr -d '"') # remove surrounding quotes
-fi
-
-CHAIN_DIR="${ROOT_DIR}/$CHAIN_ID"
-
-if [[ ! -d  $CHAIN_DIR ]]; then
-	echo "Unknown chain ($CHAIN_ID)"
-	exit 1
-fi
+#! /bin/bash
 
 echo Running chain $CHAIN_ID
 tendermint node
diff --git a/DOCKER/start.sh b/DOCKER/start.sh
index 0a3ffb5f5138130cb0542306cfd74030f1d27f12..f3dddd7adf59f458cd6c0e1bddb5e3c6b1647644 100755
--- a/DOCKER/start.sh
+++ b/DOCKER/start.sh
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/bash
 
 ifExit(){
 	if [ $? -ne 0 ]; then
@@ -7,15 +7,15 @@ ifExit(){
 	fi
 }
 
+export -f ifExit
+
 #------------------------------------------------
 # set and export directories
 
-#############################################
-# We expect the following env vars to be set
-# $CHAIN_ID
-#
-# one day we'll make it more flexible
-# for now the only consumer is eris-cli
+if [ "$CHAIN_ID" = "" ]; then
+	echo "ecm requires CHAIN_ID be set"
+	exit 1
+fi
 
 
 # TODO: deal with chain numbers