diff --git a/configs/docker/run/launchAndRunDockerEWS.sh b/configs/docker/run/launchAndRunDockerEWS.sh
new file mode 100755
index 0000000000000000000000000000000000000000..781260fbdc7d0e82229920d9cb062b054718d84d
--- /dev/null
+++ b/configs/docker/run/launchAndRunDockerEWS.sh
@@ -0,0 +1,99 @@
+#!/bin/bash
+set -e
+
+upload=''
+islive=''
+clearup=''
+component='not_set'
+config='/storage/app/EWS_prod/regions/EastAfrica/resources/coordinator/configs/config_EastAfrica_fc_live.json' # default
+rundate=$(date '+%Y%m%d') # default today
+
+
+SHORT=p:c:s:h
+LONG=component:,config:,rundate:,noupload::,islive::,clearup::,help
+OPTS=$(getopt -a --options $SHORT --longoptions $LONG -- "$@")
+echo $OPTS
+eval set -- "$OPTS"
+
+while :
+do
+  case "$1" in
+    -p | --component )
+      component="$2"
+      shift 2
+      ;;
+    -c | --config )
+      config="$2"
+      shift 2
+      ;;
+    -s | --rundate )
+      rundate="$2"
+      shift 2
+      ;;
+    --noupload )
+      upload="--noupload"
+      shift 2;
+      ;;
+    --islive )
+      islive="--islive"
+      shift 2;
+      ;;
+    --clearup )
+      clearup="--clearup"
+      shift 2;
+      ;;
+    -h | --help)
+      "This is a launch script, example usage: runDockerEWS.sh -p Deposition -c -c /<path>/config_EastAfrica_fc_live.json -s 20220808"
+      exit 2
+      ;;
+    --)
+      shift;
+      break
+      ;;
+    *)
+      echo "Unexpected option: $1"
+      ;;
+  esac
+done
+
+if [ "$component" = "Environment" ]; then
+    component_script="run_Environment_Processor.sh"
+elif [ "$component" = "Deposition" ];then
+    component_script="run_Deposition_Processor.sh"
+elif [ "$component" = "Survey" ];then
+    component_script="run_Survey_Processor.sh"
+elif [ "$component" = "Advisory" ];then
+    component_script="run_Advisory_Processor.sh"
+elif [ "$component" = "Scraper" ];then
+    component_script="run_Environment_Processor.sh"
+elif [ "$component" = "Epidemiology" ];then
+    component_script="run_Epidemiology_Processor.sh"
+elif [ "$component" = "MetResample" ];then
+    component_script="run_MetResample_Processor.sh"
+else
+    printf "component '%s' not recognised" "$component"
+fi
+
+function run_coordinator() {
+    printf "component: %s\nconfig: %s\nrundate: %s\n" "$component" "$config" "$rundate"
+    printf "optional args:\n%s\n" "$upload $islive $clearup"
+    docker container ls;
+    docker run \
+    ews_runner \
+    -v "/storage/app/EWS_prod/code:/storage/app/EWS_prod/code" \
+    -v "/storage/app/EWS_prod/regions:/storage/app/EWS_prod/regions" \
+    -v "/storage/app/EWS_prod/envs/credentials:/storage/app/EWS_prod/envs/credentials" \
+    -v "/storage/sftp:/storage/sftp" \
+    -v "/storage/webdata:/storage/moved" \
+    -p "587:587" \
+    -w "/storage/app/EWS_prod/code" \
+    /storage/app/EWS_prod/code/coordinator/scripts/"$component_script" \
+    -p "$component" \
+    -c "$config" \
+    -s "$rundate" \
+    $upload \
+    $islive \
+    $clearup
+}
+
+run_coordinator
diff --git a/configs/docker/run/launchDockerRunnerIaas.sh b/configs/docker/run/launchDockerRunnerIaas.sh
index bdc90cefabeece998846ae36f6823fbddd724f4d..df35ba0883852d314f43558b113ac725d176f9d9 100755
--- a/configs/docker/run/launchDockerRunnerIaas.sh
+++ b/configs/docker/run/launchDockerRunnerIaas.sh
@@ -1,7 +1,8 @@
 #!/bin/bash
 set -e
 
-docker run -it -v "/storage/app/EWS_prod/code:/storage/app/EWS_prod/code" \
+docker run -it \
+  -v "/storage/app/EWS_prod/code:/storage/app/EWS_prod/code" \
   -v "/storage/app/EWS_prod/regions:/storage/app/EWS_prod/regions" \
   -v "/storage/app/EWS_prod/envs/credentials:/storage/app/EWS_prod/envs/credentials" \
   -v "/storage/sftp:/storage/sftp" \