56 lines
2.0 KiB
Bash
56 lines
2.0 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
echo "=== BDFR Docker Container Startup Diagnostics ==="
|
|
echo "Current user: $(id)"
|
|
echo "Current user name: $(whoami)"
|
|
echo ""
|
|
|
|
# Check Python package directory permissions
|
|
echo "Checking Python package directory permissions:"
|
|
if [ -d "/usr/local/lib/python3.11/site-packages/bdfr" ]; then
|
|
ls -la /usr/local/lib/python3.11/site-packages/bdfr/ | head -20
|
|
echo ""
|
|
echo "Checking default_config.cfg specifically:"
|
|
ls -l /usr/local/lib/python3.11/site-packages/bdfr/default_config.cfg || echo "File not found!"
|
|
echo "Can read default_config.cfg: $(test -r /usr/local/lib/python3.11/site-packages/bdfr/default_config.cfg && echo 'YES' || echo 'NO')"
|
|
else
|
|
echo "ERROR: BDFR package directory not found!"
|
|
fi
|
|
echo ""
|
|
|
|
# Check temp config
|
|
echo "Checking temp config:"
|
|
ls -l /tmp/bdfr_default_config.cfg 2>/dev/null || echo "Temp config not found!"
|
|
echo "Can read temp config: $(test -r /tmp/bdfr_default_config.cfg && echo 'YES' || echo 'NO')"
|
|
echo ""
|
|
|
|
# Create BDFR config directory if it doesn't exist
|
|
# This needs to be done at runtime because /app/data is a volume mount
|
|
echo "Creating BDFR config directory..."
|
|
mkdir -p /app/data/bdfr-config
|
|
chmod 755 /app/data/bdfr-config
|
|
|
|
echo "Checking /app/data permissions:"
|
|
ls -la /app/data/ 2>/dev/null || echo "Cannot list /app/data"
|
|
echo ""
|
|
|
|
# Copy default config if it doesn't exist
|
|
# Use the temp copy created during build to avoid permission issues with importlib.resources
|
|
if [ ! -f /app/data/bdfr-config/default_config.cfg ]; then
|
|
echo "Copying default config to /app/data/bdfr-config/..."
|
|
cp /tmp/bdfr_default_config.cfg /app/data/bdfr-config/default_config.cfg
|
|
chmod 644 /app/data/bdfr-config/default_config.cfg
|
|
echo "Config copied successfully"
|
|
else
|
|
echo "Config already exists in /app/data/bdfr-config/"
|
|
fi
|
|
|
|
echo "Final config check:"
|
|
ls -l /app/data/bdfr-config/default_config.cfg 2>/dev/null || echo "Config not found in data dir!"
|
|
echo ""
|
|
echo "=== End of diagnostics ==="
|
|
echo ""
|
|
|
|
# Execute the main command
|
|
exec "$@" |