#!/usr/bin/env bash set -e [ "$(uname)" == "Darwin" ] && readlink_cmd="greadlink" || readlink_cmd="readlink" SCRIPT_DIR="$(dirname $($readlink_cmd -f $0))" TAO_PATH="${TAO_PATH:-$SCRIPT_DIR/..}" BACKEND_REPO="${BACKEND_REPO:-tutorial-framework-wip}" FRONTEND_REPO="${FRONTEND_REPO:-tutorial-framework-ng}" BACKEND_PATH="${TAO_PATH}/${BACKEND_REPO}" FRONTEND_PATH="${TAO_PATH}/${FRONTEND_REPO}" IMAGE_NAME="${IMAGE_NAME:-tfw}" BACKEND_PORT="${BACKEND_PORT:-8888}" AVATAO_SECRET="${AVATAO_SECRET:-secret}" function run_frontend() { cd $FRONTEND_PATH yarn start } function run_backend() { cd $BACKEND_PATH docker build -t $IMAGE_NAME . docker run --rm -p $BACKEND_PORT:$BACKEND_PORT -e AVATAO_SECRET=$AVATAO_SECRET $IMAGE_NAME } trap 'exit' INT TERM trap 'kill 0' EXIT run_frontend & run_backend wait