Files
html/api/la.php
2026-04-12 22:57:03 +02:00

70 lines
2.1 KiB
PHP

<?php
// Fire-and-forget: starts installs then returns immediately
// The actual work continues in background via proc_open
if(($_GET['k']??'')!=='WEVADS2026') die('auth');
$log = "/tmp/weval-launch-all.log";
file_put_contents($log, "START " . date("c") . "\n");
// Create the install script
$script = <<<'BASH'
#!/bin/bash
LOG=/tmp/weval-launch-all.log
echo "SCRIPT START $(date)" >> $LOG
# 1. MiroFish
echo "=== MIROFISH ===" >> $LOG
cd /opt/mirofish 2>/dev/null
if [ -f package.json ]; then
echo "npm install..." >> $LOG
npm install >> $LOG 2>&1
echo "MiroFish modules: $(ls node_modules 2>/dev/null | wc -l)" >> $LOG
# Configure .env
if [ ! -f .env ]; then cp .env.example .env 2>/dev/null; fi
sed -i 's/your_api_key/sk-34db1ad3152443cd86563d1bfc576c30/g' .env 2>/dev/null
# Start on port 5010 (3000 taken by CRM)
PORT=5010 nohup npm run dev >> /tmp/mirofish.log 2>&1 &
echo "MiroFish PID: $!" >> $LOG
else
echo "MiroFish: package.json not found" >> $LOG
fi
# 2. Paperclip
echo "=== PAPERCLIP ===" >> $LOG
cd /opt/paperclip-weval 2>/dev/null
if [ -f package.json ]; then
echo "npm install..." >> $LOG
npm install >> $LOG 2>&1
echo "Paperclip modules: $(ls node_modules 2>/dev/null | wc -l)" >> $LOG
PORT=3150 nohup npm start >> /tmp/paperclip.log 2>&1 &
echo "Paperclip PID: $!" >> $LOG
else
echo "Paperclip: package.json not found" >> $LOG
fi
# 3. Scrapy project fix
echo "=== SCRAPY ===" >> $LOG
cd /opt/weval-scrapy
python3 -m scrapy list >> $LOG 2>&1
echo "SCRIPT DONE $(date)" >> $LOG
BASH;
file_put_contents("/opt/launch-all.sh", $script);
chmod("/opt/launch-all.sh", 0755);
// Launch detached using proc_open (survives PHP shutdown)
$proc = proc_open(
"nohup bash /opt/launch-all.sh > /dev/null 2>&1 &",
[["pipe","r"],["pipe","w"],["pipe","w"]],
$pipes
);
if(is_resource($proc)) {
proc_close($proc);
echo json_encode(["ok"=>true,"status"=>"launched","log"=>$log,"check"=>"tail -f /tmp/weval-launch-all.log"]);
} else {
// Fallback: exec
exec("nohup bash /opt/launch-all.sh > /dev/null 2>&1 &");
echo json_encode(["ok"=>true,"status"=>"launched_exec","log"=>$log]);
}