56 lines
2.1 KiB
Bash
56 lines
2.1 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# Validate node_modules permissions before starting
|
|
if [ -d /app/peikarband/.web/node_modules/.bin ]; then
|
|
echo "Checking node_modules/.bin permissions..."
|
|
|
|
REACT_ROUTER_BIN="/app/peikarband/.web/node_modules/.bin/react-router"
|
|
|
|
# Check if react-router exists
|
|
if [ -e "$REACT_ROUTER_BIN" ]; then
|
|
# If it's a symlink, check and fix the target
|
|
if [ -L "$REACT_ROUTER_BIN" ]; then
|
|
TARGET=$(readlink -f "$REACT_ROUTER_BIN")
|
|
echo "react-router is a symlink pointing to: $TARGET"
|
|
if [ -f "$TARGET" ] && [ ! -x "$TARGET" ]; then
|
|
echo "WARNING: Target file is not executable, attempting to fix..."
|
|
chmod +x "$TARGET" 2>/dev/null || true
|
|
fi
|
|
fi
|
|
|
|
# Fix permissions for react-router itself (file or symlink)
|
|
if [ ! -x "$REACT_ROUTER_BIN" ]; then
|
|
echo "WARNING: react-router is not executable, attempting to fix..."
|
|
chmod +x "$REACT_ROUTER_BIN" 2>/dev/null || true
|
|
fi
|
|
|
|
# Fix all .bin files and their symlink targets
|
|
echo "Fixing permissions for all .bin files and symlink targets..."
|
|
find /app/peikarband/.web/node_modules/.bin -type f -exec chmod +x {} \; 2>/dev/null || true
|
|
find /app/peikarband/.web/node_modules/.bin -type l | while read symlink; do
|
|
target=$(readlink -f "$symlink" 2>/dev/null || true)
|
|
if [ -n "$target" ] && [ -f "$target" ]; then
|
|
chmod +x "$target" 2>/dev/null || true
|
|
fi
|
|
chmod +x "$symlink" 2>/dev/null || true
|
|
done
|
|
|
|
# Verify react-router is executable
|
|
if [ -x "$REACT_ROUTER_BIN" ]; then
|
|
echo "✅ react-router is executable"
|
|
else
|
|
echo "⚠️ WARNING: react-router may still not be executable (running as non-root)"
|
|
fi
|
|
else
|
|
echo "⚠️ WARNING: react-router binary not found"
|
|
fi
|
|
fi
|
|
|
|
# Change to the directory containing rxconfig.py
|
|
cd /app/peikarband
|
|
|
|
# Run reflex with all passed arguments
|
|
exec reflex "$@"
|
|
|