mission-control/scripts/start-standalone.sh

34 lines
932 B
Bash

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
STANDALONE_DIR="$PROJECT_ROOT/.next/standalone"
STANDALONE_NEXT_DIR="$STANDALONE_DIR/.next"
STANDALONE_STATIC_DIR="$STANDALONE_NEXT_DIR/static"
SOURCE_STATIC_DIR="$PROJECT_ROOT/.next/static"
SOURCE_PUBLIC_DIR="$PROJECT_ROOT/public"
STANDALONE_PUBLIC_DIR="$STANDALONE_DIR/public"
if [[ ! -f "$STANDALONE_DIR/server.js" ]]; then
echo "error: standalone server missing at $STANDALONE_DIR/server.js" >&2
echo "run 'pnpm build' first" >&2
exit 1
fi
mkdir -p "$STANDALONE_NEXT_DIR"
if [[ -d "$SOURCE_STATIC_DIR" ]]; then
rm -rf "$STANDALONE_STATIC_DIR"
cp -R "$SOURCE_STATIC_DIR" "$STANDALONE_STATIC_DIR"
fi
if [[ -d "$SOURCE_PUBLIC_DIR" ]]; then
rm -rf "$STANDALONE_PUBLIC_DIR"
cp -R "$SOURCE_PUBLIC_DIR" "$STANDALONE_PUBLIC_DIR"
fi
cd "$STANDALONE_DIR"
exec node server.js