#!/bin/sh
# Entrypoint del worker: arregla permisos del volumen montado y ejecuta como www

mkdir -p /var/www/html/logs /var/www/html/uploads
chown -R www:www /var/www/html/logs /var/www/html/uploads
chmod -R 775 /var/www/html/logs /var/www/html/uploads

# Regenerar vendor/ si Coolify montó un volumen vacío sobre /var/www/html
if [ ! -f /var/www/html/vendor/autoload.php ]; then
    echo "vendor/autoload.php no encontrado. Ejecutando composer install..."
    cd /var/www/html && composer install --no-dev --optimize-autoloader --no-interaction 2>&1
fi

# Esperar a que MySQL esté disponible antes de arrancar el worker
DB_HOST="${DB_HOST:-mysql}"
DB_PORT="${DB_PORT:-3306}"
RETRIES=30
echo "Esperando MySQL en ${DB_HOST}:${DB_PORT}..."
while [ $RETRIES -gt 0 ]; do
    if nc -z "$DB_HOST" "$DB_PORT" 2>/dev/null; then
        echo "MySQL disponible."
        break
    fi
    RETRIES=$((RETRIES - 1))
    echo "MySQL no disponible, esperando... ($RETRIES intentos restantes)"
    sleep 2
done
if [ $RETRIES -eq 0 ]; then
    echo "ADVERTENCIA: MySQL no respondió después de 60s, arrancando worker de todas formas..."
fi

exec su-exec www "$@"
