build-valuecurve/scripts/dev.sh

50 lines
1.1 KiB
Bash
Executable file

#!/bin/bash
set -e
# Local development server for build.valuecurve.co
# Mirrors production: static files + API proxy
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
DIST_DIR="$PROJECT_DIR/dist"
# Configurable ports (can override with env vars)
CADDY_PORT=${CADDY_PORT:-8080}
API_PORT=${API_PORT:-8000}
if [ ! -d "$DIST_DIR" ]; then
echo "Error: dist/ not found. Run ./scripts/build.sh first."
exit 1
fi
# Generate Caddyfile dynamically (HTTP-only for local dev)
CADDYFILE=$(mktemp)
cat > "$CADDYFILE" << CADDY
{
auto_https off
}
:$CADDY_PORT {
root * "$DIST_DIR"
handle /api/* {
reverse_proxy localhost:$API_PORT
}
handle {
try_files {path} {path}/ {path}/index.html /index.html
file_server
}
}
CADDY
echo "Starting local dev server..."
echo " Static files: $DIST_DIR"
echo " Caddy: http://localhost:$CADDY_PORT"
echo " API proxy: localhost:$API_PORT"
echo ""
echo "Make sure backend is running on port $API_PORT"
echo "Press Ctrl+C to stop"
echo ""
caddy run --adapter caddyfile --config "$CADDYFILE"