#!/bin/sh # Usage: # ./run # Runs the full web app # ./run test # Runs the testing suite set -e SCRIPT_DIR="$(CDPATH= command cd -- "$(dirname -- "$0")" && pwd -P)" # Set directory to serve static content from SUBDIR="${1:-app}" export APP_ROOT="$SCRIPT_DIR/$SUBDIR" export STATIC_FOLDER="$APP_ROOT/static" # Clear out build directory rm -f "$SCRIPT_DIR"/app/static/build/*.js rm -f "$SCRIPT_DIR"/app/static/build/*.css # Check for regular vs test run if [ "$SUBDIR" = "test" ]; then # Set up static files for testing rm -rf "$STATIC_FOLDER" ln -s "$SCRIPT_DIR/app/static" "$STATIC_FOLDER" pytest -sv else mkdir -p "$STATIC_FOLDER" if [ ! -z "$UNIX_SOCKET" ]; then python3 -um app \ --unix-socket "$UNIX_SOCKET" else echo "Running on http://${ADDRESS:-0.0.0.0}:${PORT:-"${EXPOSE_PORT:-8000}"}" python3 -um app \ --host "${ADDRESS:-0.0.0.0}" \ --port "${PORT:-"${EXPOSE_PORT:-8000}"}" fi fi