> $LOG # MiroFish echo "=== MIROFISH ===" >> $LOG if [ -d /opt/mirofish ] && [ -f /opt/mirofish/package.json ]; then cd /opt/mirofish npm install >> $LOG 2>&1 echo "MF modules: $(ls node_modules 2>/dev/null | wc -l)" >> $LOG 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 PORT=5010 nohup npm run dev >> /tmp/mirofish.log 2>&1 & echo "MF PID: $!" >> $LOG else echo "MF: dir or package.json missing" >> $LOG fi # Paperclip echo "=== PAPERCLIP ===" >> $LOG if [ -d /opt/paperclip-weval ] && [ -f /opt/paperclip-weval/package.json ]; then cd /opt/paperclip-weval npm install >> $LOG 2>&1 echo "PC modules: $(ls node_modules 2>/dev/null | wc -l)" >> $LOG PORT=3150 nohup npm start >> /tmp/paperclip.log 2>&1 & echo "PC PID: $!" >> $LOG else echo "PC: dir or package.json missing" >> $LOG fi # Scrapy verify echo "=== SCRAPY ===" >> $LOG cd /opt/weval-scrapy 2>/dev/null && python3 -m scrapy list >> $LOG 2>&1 echo "SCRIPT DONE $(date)" >> $LOG '; file_put_contents("/tmp/weval-launch.sh", $script); chmod("/tmp/weval-launch.sh", 0755); echo json_encode(["ok"=>file_exists("/tmp/weval-launch.sh"),"size"=>filesize("/tmp/weval-launch.sh")]);