50 lines
1.1 KiB
Bash
Executable file
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"
|